story
IMO, two things would improve matters greatly. One, add a mechanism to mark questions as "potentially obsolete" based on thresholds that can vary per-topic, or per StackExchange site (so e.g. Java has an 8 year shelf-life, general Linux has a 10-year shelf life, Ubuntu in particular has a 4 year shelf life, etc). Two, allow moderators to override an accepted answer after some time passes. I've seen posters not bothering to mark a superior answer later on, or not knowing how to do it. If the community is unanimous about which other answer should go to the top, choose that instead of the original poster's selection.