Why is this the case? As a hiring manager, I often lean heavily towards the "hire them and if they don't work out, let them go" camp. I've gotten a lot of great teammates that way and only one that didn't work out. But the one that didn't work out killed the interview and was ridiculously smart. All the ones that did poorly in the interview and had little experience ended up being some of my better engineers.
Because there's a prevailing idea that once you hire someone, there are huge legal and logistical barriers to letting him go. I don't know how true it is, but that's what people believe.
theres a lot of reasons, its more expensive to hire, form and fire than not hire for one.
Then, there are relationships with colleagues and between employees regardless of performance, if you fire very rarely then your employees are happier, everyone's happier and performance is better.
Basically, you always take the smartest risk you can, and quite often, that means no hire when you're not too sure.