
Programmers often get stuck. Talking to another developer can get past such a hurdle. Probing questions help you work through a problem. It helps your brain make breakthroughs. It is best if the questioner is an expert. They ask more probing questions that get you going.
Two people detect bugs better than just one. If you are not busy typing at the keyboard, you tend to notice problems faster. Fresh eyes often spot problems quickly. However pair programming loses its advantage if the same two people pair all the time. The fix is to swap pair programming partners often.
When you pair program, you do not want to let your partner down. Therefore you do your best. Your partner also keeps you honest. It is difficult to hack around if somebody is watching your moves. Instead you will take the time to fully understand an issue before coding.
I have done some pair programming in the past. For the most part, I found that it helped some programmers. However I find that I am more productive when I work alone. This might be a personal preference. I don’t look down on the practice. I just choose to avoid it.