Two minds are better than one.
Working with a partner when you are writing code has many benefits. While pairing is not for everyone, many people have found pair programming to be beneficial for many reasons.
You can learn new techniques. No one knows everything, and it always helps to learn new things from others. At the same time, you can be teaching new techniques to someone else. These methods and skills can range from simple things like keyboard shortcuts and other development tools to mastering more complex patterns.
Having two sets of eyes on the code also helps to catch minor errors faster. A typo may be syntactically correct but still cause a bug in the program. The two of you can prevent lots of little problems this way.
Pairing is also great for sharing institutional knowledge. Whether it’s the intricacies of the build system or the complexities of the business domain, having a continuous conversation while programming can help spread the wisdom.
Development speed is also faster when pairing. There are fewer distractions, and the focus is a lot higher. Furthermore, TDD is easier when pairing, and when used together, make for a powerful combination.
So while it’s easy enough to come up with many reasons not to pair, one shouldn’t overlook the many reasons to team up and get stuff done.