As a programmer, I think the purpose of code reviews is so other developers can check for weaknesses in my code and thus to provide feedback so I become a better programmer.
I have reviewed plenty of code of other developers too in my organisation. Checking if code will work is done by the testing department. I make sure, during reviews, that they chose to write good optimized code. (Plus, readable code.)
Code reviews help to share experience amongst the whole team. I don't think that you should review code to make sure an average programmer will be able to understand it all, since some code can be quite complex. I tend to work on the more complex algorithms in our projects, and have to make sure those algorithms have a good performance. As a result, I have to write complex code that even the more experienced programmers won't understand at first, no matter how well-documented I make it. I had one programmer review my code once, thinking it could be rewritten with a lot less code, so he did. As a result, a process that took 2 minutes at first suddenly took 45 minutes to finish, leaving that programmer very confused since he didn't realize at first that my code was heavily optimized for speed.
Code reviews are very valuable, but don't do them to keep the code readable. Use them to check for less optimal code.
(Of course, code should be readable, variables and method names should be chosen well, parameters need to be clear, comments are a requirement, with at least one comment per method but preferably with at least one line of comment per line of code. The source needs to be well-formatted, divided over proper namespaces in a clear folder structure and additional documentation need to be readily available. But this I don't even consider part of a review, but part of common sense.)