PROGRAMMING REQUIRES DEEP THOUGHT, and deep thought requires solitude. So goes the programmer stereotype.
Collaboration is not about asking and answering questions or sitting in meetings. It's about rolling up your sleeves with someone else to jointly attack work.
When pairing, we each bring our collective programming experiences—domain as well as technical—to the problem at hand and can bring unique insight and experience into writing software effectively and efficiently
Who should pair with whom? If you're new to the team, it's important to find a team member who is knowledgeable. Just as important, find someone who has good interpersonal and coaching skills. If you don't have much domain experience, pair with a team member who is an expert in the domain.
If you are not convinced, experiment: collaborate with your colleagues. Pair on an interesting, gnarly problem. See how it feels. Try it a few times.