First off, excellent suggestion, thanks for writing this up. We discussed this extensively internally, and while I'm declining it right now I don't think it's without merit — it's just not something we think is worth the added complexity right now.
What follows is a rough summary of our internal discussions, heavily biased by my own prejudices and selective memory. Most of it pertains to this question in some tangential fashion.
The meaning and behavior of "Accept"
We heavily discourage thanking people here. Not because we're rude, ungrateful people — that's an unrelated issue — but rather because it is noisy. Instead, we provide the folks asking questions with a built-in way to say "thanks" — the ability to "accept" an answer. This isn't predicated on reputation or experience, but rather on the simple fact that you had a problem and someone tried to help you solve it.
By default, Stack Exchange uses a very simple ranking system for answers. An answer's score is upvotes-downvotes, with higher-scored answers appearing first in the default sort order.
…Except when there is an accepted answer. Then it always appears first. Regardless of sort order. This one little inconsistency was added as a way to highlight the importance of an answer which is presumed to have actually helped at least one person solve an actual problem they faced. In practice, other readers tend to agree with the asker in the vast majority of cases.
Note that the accepted answer can be changed at any time, for any reason, if the asker decides to do so.
Issues with pinning accepted answers
Regardless of the stated meaning, acceptance is often presumed to grant some official status as "best" or "most correct". If nothing else, it will be the answer read first by most readers. Therefore, it is somewhat embarrassing when that answer is tragically, woefully wrong.
A closely-related issue involves answers that were once very useful, but in the face of change have become out of date, obsolete, or simply less than ideal. Note that this can also be a problem with answers which were simply highly-voted during the period of time when they were correct, since votes do not age away. A related discussion on the maintenance of such answers.
Proposed solutions to the problem of bad or wrong suggested answers
Well, there's this one — unpinning when the answer score falls below some score threshold. And its slightly more complicated cousin, which wishes for downvotes to be considered by themselves. The only real issue with the former is that it adds complexity to a conceptually-simple system; the issues with the latter are detailed in the answers there.
One of the oldest (and probably most frequently-duplicated) suggestions is to allow trusted voters or moderators to change the accepted answer at-will. The primary issue with doing this is that this waters down the meaning of Accept, while a secondary one is the lack of a reliable means to select a group of users likely to know more about the topic than an asker.
A relatively unobtrusive option would be to just add a small notice to cases where the accepted answer is outranked, noting the existence of a potentially better one nearby.
And some of our devs have suggested that simply time-limiting the pinning granted by accept (say, pinned for 90 days then sorted normally) would at least prevent it from being an eyesore forever.
Rationale for doing nothing at this time
Once you establish significant thresholds (>= 10 point difference, less than 0), this affects a very small number of posts (see Appendix A, below). Adding another rule here increases complexity for new users without much offered in return (note that unpinning accepted answers already confuses folks when they find self-accepted answers).
As the example given above illustrates, simply deleting very bad answers can be an effective strategy here — this isn't always appropriate, but it does limit the potential for confusion. Of course, in cases where they can be edited without seriously deviating from the original meaning or intent, then that is preferable.
A larger issue is that of whether pinning ever makes sense for problems where there's no immediate, practical, testable solution to be had. As we continue to add more sites on less technical topics, the notion that there's any value in pinning an answer chosen by the asker becomes less sane; it may eventually make sense to disable this particular behavior entirely on some sites.
Appendix A: Accepted answer stats for Stack Overflow
- 5,386,867 questions on Stack Overflow
- 4,842,611 questions with at least one answer
- 3,232,624 questions with an accepted answer
- 344,600 questions where the accepted answer scores less than another answer
- 239,804 questions where the accepted answer scores less than another answer after subtracting the score of that answer at the time the accepted answer was posted
- 12,933 questions where the accepted answer scores 10 or more points less than another answer
- 5,656 questions where the accepted answer scores less than 0 and less than another answer
- 4,103 questions where the accepted answer scores less than 0 and another answer scores more than 0
- 525 questions where the accepted answer scores less than 0 and 10 or more points less than another answer scoring more than 0
- 237 questions where the accepted answer scores less than -3 and another answer scores more than 0
- 4,017 questions where the accepted answer scores less than another answer and the author of the question no longer has an account on the site.
- 97 questions where the accepted answer scores less than 0, less than another answer, and the author of the question no longer has an account on the site.
Gallbladder B: Accepted answer stats for Software Engineering
- 15,982 questions with an accepted answer
- 2,644 questions where the accepted answer scores less than another answer
- 2,488 questions where the accepted answer scores less than another answer after subtracting the score of that answer at the time the accepted answer was posted
- 494 questions where the accepted answer scores 10 or more points less than another answer
- 15 questions where the accepted answer scores less than 0 and less than another answer
- 15 questions where the accepted answer scores less than 0 and another answer scores more than 0
- 8 questions where the accepted answer scores less than 0 and 10 or more points less than another answer scoring more than 0
- 3 questions where the accepted answer scores less than -3 and another answer scores more than 0
- 52 questions where the accepted answer scores less than another answer and the author of the question no longer has an account on the site.
- 0 questions where the accepted answer scores less than 0, less than another answer, and the author of the question no longer has an account on the site.
(I would link to a SEDE query for this, but… SEDE is throwing fits today due to some ongoing maintenance.)