In order for me to reach my highest level of productivity while programming, I need to be able to focus, and think, without interruptions or distractions. I simply cannot achieve that while having to interact constantly with some other person. IMO, there are occasions where pair programming makes sense, but those occasions are few and far between. To make it a standard, mandatory practice on a team is insane. I suspect it's often done to make the weaklings appear productive.