I don't care for it:
1 - I like to listen to my music while coding. Not everyone wants to hear Slayer blasting in their ears.
2 - I was brought up considering looking over peoples' shoulders very rude and get very uncomfortable when people do it.
3 - I think very fast and when I'm on a thread of solution, when I'm beginning to find an answer, getting interrupted is the very last thing I need.
4 - I can't take occasional breaks to peruse forums and newsgroups. Some might think it inappropriate anyway but I find it very important to my continued improvement. Occasionally I'll get too distracted but generally the benefit to my increased knowledge outweighs any hit to my productivity.
I suppose it might be different on other teams, but the few times when I'm actually stumped by something and NEED help I'm almost always the one who eventually comes up with the solution anyway. I am really good at what I do but I think there might be more going on...not sure, at any rate I find that I'm better off just solving the hard problems and generally better off doing it alone. Might sound arrogant, but that doesn't make it false.
I've considered that it might actually help others pick up some of my techniques but, taking #3 into account, they'd hardly be able to ask questions without breaking my train of thought anyway.
All that said, I've tried it from time to time. Sometimes it has minor benefits but I certainly can't see it as a consistent thing. The lone-wolf system works for me and it seems to work for the team.