Questions use this tag appropriately if they concern the costs and benefits of using pair programming within the education context. Questions about how to introduce pair programming into teaching are also a good fit here. More general questions of the usefulness of pair programming, say in industry, are more appropriate elsewhere.
Pair Programming is a work method describing two programmers working on the same machine. This technique is an agile development technique, and so the effectiveness of this techniques relies on collaborative effort.
In Pair Programming, one of the programmers writes the code, whilst the other reviews his work as it is written. The one who reviews also keeps in mind the direction of work; he thinks of improvements and ways to deal with potential future bugs.
In Pair Programming two people work together at one screen, with one doing the actual coding (taking a microscopic view) and the other overlooking and commenting on the developing program. The latter person naturally takes a wider, more strategic, view of the code and comments as necessary on adherence to standards and conventions as well as reminding the other of past decisions.