To me, the whole interview process is about companies achieving social dominance over you. No matter how desperate they are, they still need you to be crawling to them, not vice versa.
Sometimes an outside headhunter calls me and asks if I want to talk to a company. I call and talk to someone at the company, and before I've even met anyone they want three references from me, preferably (or absolutely) former bosses. So before I even meet anyone, I'm supposed to call three former bosses and ask them all for a favor.
It might happen a little farther down the process, but still. What it really means for me is I don't do "one off" interviews. Every few years or so I decide to get a new job, I fix my resume etc., ask my former bosses if they'd give me a recommendation, and then start interviewing at lots of companies. What this means is I'm only available for several weeks every few years. It wouldn't be a big thing for me to check out some new company half-way into my employment somewhere, but I'm not going to bother my old bosses every few months for one-off interviews. And why bother going and stammering in front of some officious HR person or manager about how you don't feel comfortable giving out recommendations so early on. Their expectations already turn the interview sour, "what am I hiding"?
Then interviewers also expect you to work on their schedule. I have a job, things aren't going well there, yet they expect me to come in the middle of a work day and spend some hours there. I might even take the day off and the interviewer might call and cancel. Then should I wear a suit (I'm not in the Bay Area)? I used to drop my suit off in a friend's office, go to work, go to my friend's office, get in the suit, interview, go back to my friend's office, change, go back to work, then go to my friend's office, get the suit and go home.
Or the interviewer asks very officiously why I want to work at the company. The answer I usually want to give is that I don't necessarily want to, someone called and asked if I was interested so I'm checking it out. But if an outside headhunter asked me to, it sounds kind of hollow. Blog posts with tips on interviewing say I should have a set BS answer for this but why should I? I want to work there for a fucking paycheck, why do you think I want to work there?
Then other bullshit. Obviously I wouldn't badmouth people at my current or former employers. But if they ask me about the process at my current job and I'm honest about how fucked up it is it becomes my fault. Let's say I said we have no revision control, no staging servers, everything goes straight into production, no code reviews, no integration tests etc. Or maybe not that bad, but whatever. Or the company won't spend money to hire the amount of personnel they need, the machines they need, the software they need, whatever. Then they say why not? I say I've asked management and management said no. It becomes my fault when I'm honest and say I couldn't shake the pennies from management to set up a proper system. Even if I'm just a lowly developer and not even a team lead or something.
Then there's the requirements. BSCS from a good school required. A few classes short and lots of experience? Tough luck. Or super-specific requirements for a number of technologies, all at a high level and for many years. Often for a crappy company, a crappy position that doesn't need anywhere near that kind of experience. Sometimes there will be a posting on some tech forum where people are laughing about a Craigslist posting asking for "9 years of experience with iPhone apps". It kind of drives home the point. Nowadays I usually don't even have the experience problem, but it's ridiculous when a requirement is for their version control system or something. I mean, how long would it really take me to learn perforce if I know subversion, git etc., as well as all the other job listing requirements?
Companies make the interview process unpleasant, throw up all kinds of barriers and then wonder why they can't find good candidates.
They also wonder why person to person recruiting is so effective, people bringing in people they know. The reason is because the inside person usually tells me "the job is yours if you want it". Most of my jobs have been gotten this way, I've only worked at two companies where I went in cold via a headhunter. It's just too unpleasant.