We thought about it like this: the stuff you understand how to do is fast and easy, and takes just a few percent of your time at the computer. It's the other things, the ones you have to think about, that slow you down. Empirically, the chances are strong that your partner will see a way how to get past something that stumps you. and vice versa; the likelihood of you both being stuck on the same problem is small. So pair programming resulted in much greater productivity than the same programmers working apart could achieve. The same benefits accrued to the overall design of the software, not just its implementation: we produced not just a lot more, but a lot better code.
Your mileage may vary - but having seen pair programming and code reviews work over and over, it's hard to give much credit to people who haven't tried these techniques talk about how they can't work.