Code review is quite simply having someone go over your code in order to detect errors. It falls under the extreme programming category and uses techniques similar to pair programming.

Although it is not a new thing, it has recently become a formalized process and many software companies are implementing similar methods to improve code quality.

Types
Peer Review :
    The code is sent to a peer or co-worker for review. This is used for small or non-urgent code segments.

Technical Review :
    More formal review conducted possibly with multiple people. Defects can be fixed or analyzed and official roles are not assigned.

Inspection :
    A formal review with assigned roles (moderator, inspector, recorder, author) and meetings. This review will follow a formal 7 step process. Many iterations of meetings may be neccesary.

The Process
First the person whose code is being reviewed will organize an initial meeting. This meeting will involve anyone reviewing the code and it is here that they will be assigned something to look for. Usually one person will focus on syntax, one on logical errors, one on meeting required specifications, and anything else that is important in the code.

A printout of the code, with line numbers for reference, is provided to each reviewer. Then on their own time they review the code and mark all mistakes.

Another meeting is arranged where everyone will submit their bugs and questions. Frequently bugs are ranked by importance high, medium, or low priority. The bugs are all documented and the author then can go make and make the appropriate changes in the code.

You could easily hold code reviews without following this process, however bureaucratic businesses like to have a system. It may also be worth mentioning that Open Souce code is similar to one big code review, only every makes their own editions, which maybe why many people are such big advocates of Open Source.