From Joel Spolsky is a crotchety old man:
Why does Joel pick out pointers and recursion as the two gatekeeper concepts? Because he found them difficult?
In my experience (from helping fellow comp. sci. students) understanding pointers and recursion requires a level of abstraction beyond most people. Also, those who do understand these concepts, can pretty easily spot those who do not.
So, weeding out those who do not understand pointers and recursion, is a cheap and good enough first step in selecting the best programmers.