Re: When it works it's very very good; but when it doesn't, it's horrid.
Your experience mirror's mine over the years; I didn't realise the way I had been working since the 1980's had a 'trendy' name :)
What I found was that paired working works best when skill sets overlap rather than duplicate, this means that the work can be better shared, rather than simply duplicated. Additionally, it is helpful for such pairings to only be 'temporary'. By this, I mean just because a pairing works doesn't mean a pair should simply roll onto the next project and the next, as a 'couple'. I think your example and experience also bears this lesson out. Additionally, your experience bears out the other part of my experience, pairing can be applied more widely than just software development, the only real problem is getting clients to pay for two pairs of hands when they perceive they only need one and hence are only willing to pay for one...