I call this "debugging by confession", and it is almost always
very effective. Trying to explain things to someone else forces
you to structure your thoughts and think about the functionality
of each piece of your code, which usually leads to finding
the bugs :-)
Whenever I'm stuck with something, I usually walk into one of
my neighbor offices or cubicles and start talking about my
problem. Usually a solution comes up shortly afterwards.