Pair programming is the best way that I have ever experienced to become aquainted with a new system. There is nothing that gets a new person up to speed as fast that I know of. The interaction that happens while work is being performed is the kind that a new developer really needs. It sure beats reading a stack of outdated documentation! If you are a seasoned professional developer, you can probably remember a time when you arrived at a job and had no computer to work on. This is something that pair programming takes care of as well. You can walk onto a job and be productive the first day.
As a trainer, pair programming is also the best way that I have ever experienced to teach a new developer. It allowed me to work very quickly and precisely in that I could quickly learn which parts of the work the developer did not understand and which parts they were already familiar with. Even if I'm the one doing the training, I always seem to learn something.
Day-to-day, pair programming spreads knowledge quickly throughout a team. When a pair of programmers learn a new technique in the morning, two more developers may know the new technique by the end of the day by switching just once. Developers usually have a wide range of experience and education and pairing causes the expertise to spread quickly.
As mentioned briefly yesterday. Pair programming makes it easier to take time away from work. Pair programming makes it much more likely that you will get to take a long, relaxing vacation. Since your knowledge has been distributed between all the members of the team, you can rest assured that there are capable people taking your place while you are gone.