Questions are often long abandoned, and the original questioner won't come back and choose a new correct answer. On a rarely looked at question, it would take years for a correct answer to raise up the ranks.
I've seen various answers which used cryptography dangerously, and asked if there was any way they could be fixed, and I just got the answer you gave. That shouldn't be acceptable when dangerously bad code is being showed to people.
With sufficient "rep" (2000, where an upvote on one of your questions or answers is worth 10), edits don't even require approval from others (before that, they must be peer reviewed before the edit takes effect)
In practice however???
---
The system works well for fast and easy. A system like StackOverflow will never work well for highly specialized tasks and that's alright.
I was explictly told "Inform and educate, don't censor!." -- which from context clearly means "don't edit answers just because they are wrong".
SO is perfectly happy to accept better answers, especially to those which have gone stale and perhaps no longer applicable.
If you are offering further information that can benefit the reader its always welcome.
Its one of the reasons a lot of the more concise answers are not always the accepted answers. Because people do ask quite often : "Okay but why did that fix it"
In-fact : Answering without giving a proper reason for the solution is frowned upon mostly.