Q:

Code Reviews, what are the advantages?

In my team, we don't do formal code reviews. We tend to think that it's enough with pair programming and rotating pairs often.
Should we consider doing formal code reviews?
What would be the advantages?

A:

We do code reviews a bit different (maybe).  
We come up all programmers together (every Friday) and look what we have done in a weeks period. Then we chose what projects we want to review so that every done/in progress project would have at least one or few people. Then in hour or so we look at the changes that was made, search for mistakes, how other projects work and etc. Afterwards we discuss, tell the mistakes, how it should be done (we don't fix bugs we just point out them and spam the code with FIXME). All in all it usually for us (10 programmers) takes around 2 hours.  
The pros: 

Every member knows what happens in the company
Bugs are found faster
It forces us to write readable code (code that can be read without explanation or introducing!)
Optimization methods/tricks/productive programs spread faster
Programmer as a specialist "evolve" faster
It's fun

What I have against pair programming as mentioned (sure it's only my personal opinion) is that the longer the team works together - the faster it gets.
I hope it would bring some food for thought. Good luck.

A:

You may want to read through this free book:
http://smartbear.com/best-kept-secrets-of-peer-code-review/
Sure, they have a product to push, but there's still a lot of useful information in there.
They also discuss how pair programming provides some of the same advantages, so if you're pair programming you might not need code review at all.

