One of the huge benefits I've found from code reviews is that my reviewer will say, "Actually, we've faced that problem before and there's a solid and proved solution in our utils that handles it already, along with a couple other cases. How about you change it to use that instead?"
1 - Suggestions on where problems have been solved before. (Your point)
2 - Having people say, "Here's the style we use to make this easier to support in the future"
3 - Mentoring on tougher problems, and turning quick hacks into elegant solutions.
4 - QA. (This is the stated benefit, but falls below the other 3)
The key is not to turn code reviews into a bottleneck. If you just view the purpose as any 1 of the 4, you're likely to under-prioritize or over-formalize it.