I'm not an American, but I fully understand your point.
Let me provide some background. If you already know this, my apologies.
The process of getting an H1B is not the employer picking up the phone and ordering "1 H1B for delivery please".
It involves applying at the beginning of April, being entered into a lottery, and you find out if you "won" (and your application is looked at) around the end of March. IIRC it is ~30% that your application is even looked at.
At this point, you're out legal and processing fees (at least a couple thousand), and likely more if USCIS wants more evidence that the position qualifies, or that the individual being sponsored is eligible. As a side note, this is often why job descriptions have degree requirements and such, even if they will hire people without a degree. If a similar job at the same company doesn't "need" a degree, it will be much more difficult to get a work status for, even if the requirement bar is actually quite high.
After this, assuming you actually get your status, you don't "get" it until the beginning of October.
It's now cost your employer 6 months of lead time, a legal process, thousands of dollars, and uncertainty throughout to know if they even _could_ hire someone.
It is not _easy_ to get an H1B.
If you have 2 equally qualified people, who will make the same amount of money (which is what market rates are, see my initial suggestion above), then any reasonable employer is going to go with the candidate that they can hire the next week, rather than going through the H1B process.