For example, say that 90% of your potential emplyees are crud. You have a position with 100 candidates and 10 are fit for it. Now, you apply a (very well correlated) identifier, it reduces the candiadtes to 50, keeping 8. You still have too many candidates, so you apply another filter, reducing them to 25 in total, with 6 good ones... You can see where this is going, with some luck you'll have: 4/12, 3/6, 2/3, 1/1; you can expect quite often to have: 3/12, 2/6, 1/3, 0/1; with some bad luck you'll have: 3/12, 1/6, 0/3, and no good candidate will make it even to the last round of selections.
Also, there might be a few heuristics you can use to determine the crud-ness of an employer, but they're not necessarily bulletproof.
Example: if an employer uses Clojure/Haskell currently I'd surmise they're not a complete victim of industry's hype cycle. Whereas if the job ad requested node.js ninjas, not so much. I'd guess it'd be easier to introduce node.js in the former, rather than a functional lang at the latter. But this isn't some amazing inferential leap, really. The subtext of the job post is critical.
And speaking personally, it's very important to be reminded that being passionate about programming isn't anything special, it's a personal choice. I don't believe that in and of itself it makes me necessarily worse than if I was "moderately enthusiastic," but it doesn't make me any better.