1. You stay focused
2. Often it turns out that me and my pairing partner are out of sync on either what should be done or how it should be done. And in those cases, often, the truth (for the lack of better term) is in the middle.
3. Doing quality peer code reviews is hard and takes discipline. If you lack it, pair programming is a good shortcut.
4. You get immediately two people owning (or, rather, invested into) the thing. So the effort is less likely to lose steam.
I'm not denying though that there probably are other ways of interaction (async or not) that may still bring these benefits.
EDIT: more things.
5. Having someone in peer code review question what you have been busy with in the last couple of days hits harder, compared to when someone filtering out what you put in the code as you explain your ideas.
6. Bonding.