Whatever your job, I bet the following story happened to you :
You are in the middle of a work, but stumble on a problem. No matter how hard you try to think about it, no solution comes into your mind... Then you ask your coworker for some help.
-Ok, sure I can help you, what is your problem ?
-My problem is blah blah blah... Oh wait I know the answer thanks for the help !
-What ? I did not say anything !
This is a situation very familiar for a developer during debugging.
So familiar that now developers don't dare to waste their co-woker's time, and just explain out loud the problem to a rubber duck.
The cool thing about rubber duck is that he not only masters programming, he masters every domain, and can respond to almost any of your questions !
Why is that ? Simple enough. Your brain can only respond to a problem when your question is well formulated and constructed. The answer is always as good as the question.
By forcing you to materialize your problem with intelligible words, as if you needed to explain it to someone else, your brain notices that he already knows the answer.
Rubber Duck will tell you : If you want a good answer ask a good question... Now, what is your problem ?