Which is not the same thing at all.
E.g. "what's the best book?" - people will vote up the books they've read. This might be useful but won't answer the (possibly unanswerable) question "what's the best book".
Does this even matter?
I guess it doesn't really answer the question. Just the word "best" brings out the competition.
If the question was worded "list an OK book you like reading" for example, I would imagine it would die like a limp fish.
The "best" is ultimately a subjective question, and its befitting that SO leaves it formatted to form a subjective answer. ( the little votes don't mean a lot, and the question poster choosing an answer is by no means unbiased )
Stack OVerflow IS ONLY about popularity. The please don't discuss format discourages the consensus building that'd be needed to arrive at a reasonably good "best" answer to a non trivial question.
And this also happens for questions that aren't asking the "best" something...
That is why it'll probably never answer really hard questions, but that's not its aim, so it's all good.
Reputation should be at least based on the size of a community.
Say you were a c# and f# (or java and scala) developer. Your brilliant f# answers will not count as much as your lousy c# answers because there are not too many people interested in f#.
I would like to see reputation based on a tag. “This guy's reputation is x from f# and y from c#.” The answer could be a normalized value per tag: reputation from tag / max reputation for tag for all users (the best f# guy). This can answer the question if someone is the f# specialist or not independently of the size of community. There will be some obscure results for new or marginal tags so there should be some threshold.
The harder question is to normalize reputation globally. It could be sum(normalized reputation per tag). I'm not sure if this would bring enough extra value. The world is not fair why should stackoverflow be fair? (Chances are that you know Britney Spears but never heart of Maria Callas.)
Code Complete is very popular answer to "what's the best book" question. That does not mean that people didn't read other books. They did, and they choose CC. In some degree, such opinion can be valuable. If someone who didn't read CC sees that so many people chosen it as a best book, he could take interest in this book.
I agree that it should be "favorite" instead of "best". I'm also one of those who believes that developers want to know what other developers are thinking, what their likes and dislikes are, what their opinions are, etc.
This site was designed to provide definitive answers to definitive questions. Questions about "favorites" are too subjective to have a definitive answer. Some people on SO think that such questions should be disallowed. They go about and close such questions, often commenting that they are "subjective and argumentative". I call these people grannies, and I think they're missing the boat.
I think the immense popularity of subjective questions shows that it would be a terrible mistake to disallow them. Instead, StackOverflow must adapt to subjective questions by allowing them to be formally marked as such, and altering the reputation system to reflect that. (I think subjective questions should provide rep, particularly if they engender a lot of discussion, but I think the system should be a bit different for them. Exactly how I don't know.)
Well yes, but generally people have a reason for picking one over an other option. And if 90% of people prefer x to y, then generally x is better for y, at least for 90% of users.
Sometimes people cry "popularity contest" when really there are actually good reasons (speed, amount of features, learning curve) for the choices made