How the community will do things right and the law of large numbers will select the good solutions
I think perhaps one of the problems with SO is that the asker of the question chooses which answer to accept. Now, this can work very well, if the answer quite obviously does or does not answer the question. For example, if a question is posted asking why a particular function doesn't work and somebody replies with the explanation and a fix which makes the function work, the user can obviously judge that to be a good answer; afterall, their function now works and they understand what they did wrong.
However, for those questions which are more subjective, such as the user asking for advice or an explanation, they're probably amongst the worst people to be judging what is a good answer. I've seen so many accepted answers that contain incorrect information and bad advice, where there are perfectly good, better answers that were not accepted.
Obviously, the voting system really helps here. If the asker of a question has accepted an answer while a different one is getting twice as many up-votes, that may be an indication to them that they haven't selected the best answer, but unfortunately not all questions are actually that popular. Some only have 2 or 3 answers with a few tens of views and 2 or 3 up-votes distributed around the answers. It's not quite so obvious to the asker which is the best answer between three that all have just one up-vote each.
Also, in the case where some of the answers do only have 1 or 2 up-votes, there aren't enough votes there to balance out. All it takes is for a couple of equally misinformed people to up-vote a slightly incorrect answer over a better one in an unpopular question to make it appear as though it's the best one.
Not that I have any suggestions on how to solve this, unfortunately.