I've found pairing to be very useful when I don't know the stack or codebase all that well. It can certainly be frustrating though when the two people in the pair have extremely mismatched skill levels and are working against a deadline.
I like to think of knowledge as a resource with compound interest for the individual and especially for the company. Knowledge is built on what you already know and the more you learn the more ideas and knowledge you can generate. Teaching another is the key principle of pairing. If done correctly somebody should always be learning and teaching.