I agree with everything you have said. A hiring manager has every right to be as choosy as he or she chooses. I've read plenty of blogs that talk about how rigorous the hiring process is at company x, how good you have to be to get hired, and how they pass on candidates that would probably be good employees because the damage of a false positive is so much higher than a false negative. All a-ok in my book.
The part that irritates me is when these companies start talking about the serious problem of a shortage of developers. I feel that if you want to throw out many people who would have been good employees, you should accept the consequences - that hiring will be very hard and you will face a shortage of your own making.
I think not firing someone is a much bigger hit on team morale. If someone is either doing something that affects everyone badly/not doing what they're supposed to do (causing other people to do their work), why keep them? Firing is a temporary downer; keeping someone on staff who shouldn't be there is a long-term one. If your team is great and they care (which I think all great teams do) you owe it to them to replace that person with someone who is on the same level.
Well, yes - I'm just talking about the cost of a wrong hire. Sure, if you have a bad apple, get rid of it. But it's better to ignore a few good apples if that means you reduce the likelihood you get a bad one.
Talking with friends at Google, the perception there is that the cost of a false negative is larger than the cost of a false positive. The catch is that you need to have an agile hiring process, AND actually let go of people who don't carry their weight. Most companies fail at both points especially the second, until hard times come and investors demand rolling heads.
a) Once you hired somebody, you already spent a lot of money on them
b) It affects team morale. No matter what skills people have, team mates still form personal attachments. Seeing somebody go is hard.
c) Firing means HR and legal need to spend a lot of time to make sure this is handled properly. So, more cost.
So, I'd rather have false negatives than false positives overall.