The concept of code reviews has been around for dozens of years. It's a way of having fresh eyes look at code, check that documentation and style guides are being followed, and bi-directionally provide constructive ideas and feedback. eXtreme Programming, interestingly enough, obtains this via Pair Programming. I'm not sure how much I agree with that though... putting twocoders together that are not in the habit of documentation what they are doing probably won't result in better docs. That means that the wrong people were paired... maybe it would be a good idea to let somebody better at documentating (a senior developer, technical writer, or development manager) go around and pair up with different people and give them and out-of-the-box ideas and questions that could have been answered by docs. Sure, everybody is supposed to document and write perfectly understandable code... but on the other hand, people with more "experience" should be giving good examples and reviewing what the young impressionable co-op students are working on. Anyhow, when I relinquish code control/ownership, I like to believe that I left it better documented, cleaner, faster, more automated, and all that stuff. It might not be perfect, but I can think of very cases to the opposite of that.
This link provides some eXtreme programming guidelines and thoughts regarding code reviews, coaching, pair programming, and so forth: http://c2.com/cgi/wiki?search=coach
... see also CodeDocumentation
Some other links