Bringing two minds together to work on the same problem is the basics of what pair programming is. On a deeper level, pairing effort together on one problem set can create faster delivery of results, create less defects and produce a higher quality output.
Pairing is not exclusive to software development, and can be applied to other areas of knowledge work.
Pros and cons of pair programming
Pair programming aspects explained
Some things that might help you learn how to code and also code better: