Learning to code is similar to learning a new language; there’s syntax, meaning, and even history & customs associated with this new language. That being said, it’s not surprising that the same fundamental skills are important in this endeavour:
One of the reasons pair programming is so useful in this learning process, is that it engages all of these areas, and also contributes to skills that will help in the job hunt process, as well as in collaborative development.
With one person acting as the driver, and the other as the navigator, it keeps both people more engaged than they may be if left to their own devices and keeps everyone accountable.
This also keeps both sets of eyes on the task at hand, making it harder to glide past an error, and easier when the time comes to find any mistakes that manage to slip past.
Both developers also are able to share their different experience levels, and approaches when looking for a solution; a more experienced developer can help actively fill in any gaps & answer questions without breaking the flow, and also will have to learn to be able to communicate their ideas to arrive to a shared solution.