When someone asks a question that has a right answer, should he or she be the one to mark one as accepted? Accepted doesn't have to be correct, but why shouldn't it? With something more subjective maybe it's okay, but . . .
The person asking the question is the only person who can say authoritatively "This answered my question."
True, we do at times see what appear to be "better" and perhaps "more exhaustive" answers to questions, but those would be our personal assessments. Readers vote with their recommendations. If the OP grants a "question-answered" flag to an answer with 0 or 1 votes, and another one has 12 votes, then the community has thereby rendered its judgement.
This appears to be an excellent system that works well, is democratic, fair to all parties, and allots credit where such is due. Nothing broken here, so no fix is required.
I have often had the same thought. The person asking the question, by the fact of (sincere) question asking, knows less about it than the answerers.
The answerers among themselves though are biased as to the worth of their own writings, so they' are probably not ones to decide.
Moderators are supposed to be somewhat impartial.
Those with high rep might know more...
But in the end I think it is OK because the questioner knows more about what they intend than any of the other people. Also, they are the ones interested in getting a right answer more than any body else. Another also, they are ones who would be expected to monitor their own questions, so are more likely to do something like approve an answer.
The acceptance by the OP isn't intended to say "this is the correct answer". It is meant to say "this answer was the most helpful".
It took me a bit to figure that out (I probably had to read it somewhere more than once). But that's a reasonable way to treat 'acceptance'.
Yes, I find it terribly annoying when an answer with a lesser vote gets accepted when another answer is so obviously correct. Here at EL&U, it especially bothers me when a non-native speaker approves a question on dialect or style (how would they know?).
On the other hand, recently, I had an answer of mine accepted with a vote of zero (one up, one down so it was not ignored), and the others were voted around 10 each. (I can understand how it happened, but I sincerely agree though that my answer matched what the OP wanted)
Accepting an answer is more of a social convention than anything else.
It simply means the OP felt that particular answer met their needs better than other answers. Whether the community agrees with this or not, is completely unrelated -- though equally important.
It's also the source of things like the Reversal badge.
I think that in this particular stack exchange, this question is especially pertinent.
In a technical stack exchange, the asker is likely to be able to validate the answer conclusively, and likely will do so.
In english.stackexchange, the asker is very often not in a position to validate the answer! How would a non-native English speaker validate whether Benedict Arnold is a phrase that means "a person who pretends to be a friend but is an enemy"? (A real example of an answer to a question).
So I agree that if there was a better way to select an answer, it would be appropriate in this forum. The only thing is ... what would be a better way!? Just go with the highest voted after a time??