I totally agree it is useful for particularly tricky problems. It is not a coincidence that what I like the most about it is the initial discussion on the potential approaches to solving the problem. But then when we move into the implementation phase, that is when things get tiresome after four months of continuous and permanent pairing, because in my case, I appreciate silence and time to focus and think at my own pace. Maybe permanent pairing is just not an useful thing honestly. I guess I'm wondering if anyone has successfully done it for months at a time.
The company I work for is completely committed to pair programming, which means everyone does it a 100% of the time. It is fine to help you ramp up when you just joined, but after 4 months of non-stop pairing, it seems like it's just too much.