I've mostly seen it pushed (as a hard 100% policy, at least) by well meaning but naive people that have done it a few times before, got obsessed with it, and decided it's this week's cure for everything.
The reality is, it will make the team produce fewer bugs. It will also help in knowledge sharing, and in some cases result in tidier designs.
But you'll basically have half the manpower. So unless you actually have serious problems with bugs, knowledge sharing, or code design, it's not going to be worth it. There are other ways to achieve quality, and most senior people can do that very well without someone pairing with them.