You're not wrong.
Unfortunately, because we are a smaller site (we're 27th/166 of main sites in the network, and 27th/73 of graduated sites) and we only have ~40,000 questions, it's difficult in some more obscure languages to get up votes and accepts. It's harder to see the value.
If we compare ourselves to a site like DBA (they only have 11k more questions than us, which is 25% but not a lot to be completely fair) we see one major difference: DBA is specialized to one very narrow area. They work specifically with databases, SQL and the like. We work with any language out there. We're specialized to a very broad area. This makes it hard to garner a great deal of participation, simply from the fact that users see the same thing you have pointed out in this question: what is the value of participating?
I recently saw a comment on an SO question that was something as follows:
Don't recommend [Code Review] unless you are prepared to answer this topic there. There aren't enough skilled numpy and cython programmers hanging around that board to give good and timely answers. I'm currently one of the most active numpy coders there, and my reputation is only 1000.
This is in fact not at all wrong. We have a participation problem, and it makes it difficult to get good numbers of people participating. We have spent a lot of time trying to fix this, but it just hasn't happened yet.
Unfortunately, when you specialize in something like we do, but for a very broad selection of items, it creates this atmosphere of people feeling like we're not going to be able to help them.
To your problem, there are only two real solutions to this:
- Increase the number of users participating and asking questions.
- Learn an/some additional language(s).
Option 1 has obvious benefits, we increase the community drive, increase participation, etc. It's difficult to do, you have to find people to participate, but when done correctly you can increase the feel for all of the community. This would solve all of the issues I mentioned above, but it's a very long and ongoing process.
Option 2 has different benefits, you learn a new language, increase your skill, and venture out into new territory. Unfortunately, it requires a lot of work to do. (Learning a language isn't always easy.)
Personally, what I would advise you to do is come into The 2nd Monitor (our main chat room) and chat with us, increasing your visibility may be as simple as talking with the community in a more interactive environment. (Often times we do something referred to as "pimping" where we post questions/answers that deserve more +1's.)
We can also help you learn new languages and get more experience with them to help increase the number of areas you can work in. We're all here to help each other, and that is (in my opinion) the best place to do it.
Generally speaking, if it is a good answer, someone will see it and begin the process of up voting and spreading it around. (One of our regulars, Malachi, tweets questions periodically on Twitter.)
I'm Part of the Problem
As forsvarir said, one of the biggest issues is voting, by askers and answerers.
Take myself, for example. I'm going to call myself out because I know I am a problem with it, and I'm not going to get upset about it (I'm trying to fix it and recondition myself, but it takes time):
Those numbers are bad. Really, really bad. I've been a member for 1 year, 7 months (or 19 months), an average of 30 days per month puts us at 570 days (give or take, exact numbers don't matter here), which means I have voted an average of 1.4 times per day.
We get 40 votes in a day, that means I should have roughly 22,800 votes right now. I'm 22k short. I've used 3.5% of my total vote allowance for the lifetime of my membership of Code Review. That's not good. I am part of the problem.
Why?
You might ask why I don't vote as often as I should? And I don't really have a good reason. In fact, I don't have any reason. I voted all day every day when I first joined, now I hardly use a vote a day. This is a problem.
We should encourage more voting, not less. We should encourage users to use their vote allowance in a day. They don't have to all be up-votes. The world isn't cherries and sugar-plums, but as stated in the answer I linked to, if you're answering a question, you should usually up-vote it at the very least.
How bad is this?
Votes generate score, score generates reputation, reputation generates motivation, motivation generates activity. Therefore, votes generate activity.
If we don't vote, we don't generate activity. People don't want to participate in a site that doesn't have activity. It's plain and simple.
I've been collecting some stats for a while, and we have been getting roughly 27 questions per day, and 37 answers per day in the last month. That means we get a total of about 64 posts per day. There is no excuse for me to not use my vote allowance. None.
Also, I just did some math, and if all the people in our main chat room regularly used all 40 votes every day, we could create over 1,000 votes per day on this site. If we applied those to all the incoming questions and answers, we're looking at nearly 16 votes per post. Even if all those votes were only used on questions, just the regulars can generate 5,000 rep a day to spread around the site.
On a personal note, much like Thomas, I do most of my code reviews here simply out of fun. Internet points are great and all, but I have learned a lot more here than I ever though I would, which I think is also a very good value to this site. It's more about helping people, and providing knowledge than it is about gaining reputation.