That means that, basically, the worse the code you submit for review, the more upvotes you'll get, and eventually: the more rep you gather.
This is not always true. In many cases, good code also get plenty of upvotes (sorry for taking my own code as example).
I think there are three different kinds of questions that get massive up-votes:
- Horrible code, this really needs to be improved ASAP!
Example: Finding words of different lengths given six letters
- Interesting/Useful code/question, this needs to be paid attention to!
Example: Tool for creating CodeReview questions, Using a for-loop or sleeping to wait for short intervals of time
- Good code/question. Nicely written and provides good context of what the code does / how it all fits together
Example: SudokuSharp Solver with advanced features
Ultimately, I think up-votes on a question should indicate: This question provides good context or this question is worth reviewing.
What is also worth to remember is that when a question hits the hot network list, it tends to draw a lot of attention from other sites which creates questions that are much higher voted than the normal question around here.
Questions with a lot of up-votes tend to have answers with a lot of up-votes, which is a good thing.
In my mind, this is wrong: the person reviewing that one question is more deserving of reputation-related rewards.
This I agree with. Which is why each up-vote on a question is only worth 5 points instead of 10. However, with enough questions you can gain a lot of reputation even if the average individual question isn't very highly voted.
Personally, the more questions someone has asked (without also reviewing), the less I tend to up-vote their questions.
In the end, what Code Review needs the most to survive as a good and useful site, are reviewers and not askers.