I was involved in a hiring decision once where we were on the fence but made the hire because we really needed to fill the position. The person didn't work out for all the reasons we expected, and we fired them ~3 months later. It was really shitty, and I will never do it again. It's counterproductive, and it's unethical.
Given that you're here on HN, you're probably biasing towards high skills jobs like software where a bad hire can really screw up the productivity of the entire team and project for a long time.
With lower-skilled jobs, employers are happy to hire and dump as their demand changes over time. Look at how many cashiers and customer service folks get hired right before the holiday season and then get canned after Christmas.
it still costs money to bring the person up to speed, not to mention the opportunity costs involved in not having the right person for that much longer.
and many employers even in the US are terrified they'll be sued for wrongful termination. or they just don't want to risk having to do something viewed as "mean".