In my opinion it is a very DM choice most of the time. I usually roll myself, as a DM, most of the Search, Spot & Listen checks as well as NPC-interaction checks like Sense Motive, Diplomacy, Bluff...
Basically, I only ask myself if to know about his failure makes a PC behave differently (and better). Of course, if you ask him to roll a spot check (which is 99% a non-voluntarily action) the PC knows there's something to spot. For a voluntarily action, such as Search, still he can guess from the result: if he rolls the best and doesn't find anything, he won't go on, if he rolls a 1 he's 100% retrying.
I usually let them roll (or anyway see the result) when they can't do much anyway: for example you need Spot or Listen check to determine surprise conditions at the beginning of a battle, but since the battle is starting anyway immediately after, a PC who knows he couldn't notice the incoming foes (e.g. an ambush) can't do anything to avoid being surprised.