Pair programming appears to be a bit of a marmite topic. Personally I think it can be be a huge benefit if done correctly; but plenty of people, management especially, seem to see it as "wasting" a developer.
A good pairing could give you a good productivity boost (more than the two individuals could produce working alone), and provide a level of "training" for both developers involved. Or you could pair badly and end up with 2 developers doing the work of one, reinforcing the negative opinions some people have of the practice.
So, do you actively use pair programming in work? And if so, who "picks" the pairs? Developers themselves? Technical Lead? Management?
Edit: this is a good blog post on why pair programming can work, for those that are intested: http://cafe.elharo.com/programming/why-pair-programming-works/
I've marked this as a community wiki as there's no real "correct" answer, it's just a topic I'm interested in other people's opinions on.