I find pair programming SO useful when there's a difficult debugging task at hand, for all the reasons you mention. It can be very useful to have a second brain on standby to challenge assumptions!
I also agree it's excellent for learning and mentoring - I've picked up so much from pair programming and seeing someone else's approach to a problem, not just the resulting code. Plus, challenging myself to explain what I'm doing and why has helped solidify a lot of my own learning and soft skills :)
Yes, I always learn new stuff!
It's a lot better to watch someone write it and ask the questions there and then instead of watching it go through code review.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.