In my personal experience and opinion, pairing makes sense for knowledge distribution and figuring out something hard together. Or onboarding, getting a project newbie up to speed for a couple of weeks.
But when overdone, it simply slows you and binds expensive developer resources that otherwise could be working on a parallel thing. Especially in the remote environment during Corona times. I basically HAVE TO have an always-on Zoom/Teams call with mic and camera.
Half the team seems to really love that mode of working, but I for one am rather puzzled how you are supposed to focus and really think things through this way. Always having to articulate every single little thing and then switching control just throws your flow completely out of the water.
And one other bad side-effect I observed is that reviews are now taken much less seriously. No need to do reviews, since a PAIR already worked on it, right?
Not in my opinion - I think that reviews and subsequent communication are a much better way of knowledge sharing anyway and pairing is often just a management oversight excuse rather than a helpful technique/mechanism. Some devs also seem rather desperate to have others help them do simple tasks. It feels like those people in school who tag onto your project because they know that you and that other girl will do all of the work.
If you're in the team for 3 years I would expect you to be able to read some code and understand what it does. Or read docs of some framework. But nope, some people just NEED others to tell them how it is done and by next week they already forgot it anyways. And when I want to read some docs? Enjoy those eyes and intermittent verbal injections from that Zoom call.
Uff - I am rather frustrated, but as mentioned early in my comment, I do see some real benefits of pairing. Just not 100% of the time all the time with always-on Zoom cams.