It's not just an HR issue. I've come across a number of situations where developers are making hiring decisions and using arbitrary criteria to base them on. E.g.:
* The fire storm over Deviant Art's 'we only hired 0.0000001% of people' blogpost/HN discussion.
* I went through the application process at a start-up where they were "really excited" about me after the first interview, but dropped me after the second because of a couple of stupid trivia questions. Trivia questions related to callable classes in Python, a feature that while interesting is (from what I can tell) little-used and extremely easy to pick up (took me 5 minutes of looking at the docs).
* I've seen groups within my own company pass up people with potential because they are 'too old to be junior developers.' (In this case, it was someone with development experience, though not too much, that was changing careers and who showed promise in his interview questions.)
* I know of particular people within my own company that are really smart, but also really harsh on interviewees. The tune seems to be along the lines of, "I'm a rockstar programmer, and if you're not too, then you're an idiot and I don't want to work with you."
* I know of places where it's generally admitted that current employees would not pass the interview process for the job that they do, even though no one thinks that they are inadequate for the position.
These are all examples of developers also doing a horrible job at hiring by finding arbitrary criteria to base their decisions on that have little to do with whether or not someone is a qualified candidate.