Ok, so questions and suggestions about duplicate questions are pretty common, often being duplicates themselves. My question is really more about how Stack Overflow could change in order to discourage a problem that many people see as one of the leading problems of Stack Overflow. And, as a sub-topic, how can we encourage people to answer older questions, or update answers to them?
Jeff Atwood has posted in his blog that he sees a moderate level of duplicate questions as healthy, and I agree with that. Apart from the fact that differently worded questions may lead to easier searching, I think Stack Overflow has a process problem that encourages people to ask duplicate questions, and more importantly to discourage people from answering older questions with new or better answers. Duplicate questions help to encourage better answers, IMO.
However, I don't think this is the way it should be. I would love to get behind the "one question to rule them all" camp, but because of Stack Overflow's design this makes it impractical. Here are the reasons why Stack Overflow encourages duplicates, and discourages improving old answers:
As the number of answers to a question grow, the likelihood of gaining any rep from an answer goes down. If a question has 20+ answers, the likelihood of my getting any rep from an answer is almost nothing, regardless of how good the answer may be.
When a question is marked "answered", it discourages people from writing a better answer than the selected answer. This is particularly true of older questions in which the technology may have changed and a better answer now exists.
People seldom read past the first page, and even more seldomly read past the second. Merging questions and adding further answers makes it harder for people to find answers. If you merge two questions, and there are now 50 answers, and the best answer is down at the bottom (maybe because it was recently answered) then people just aren't going to find it.
People disregard older questions as no longer relevant. If I'm searching for an answer, I'll prefer more recent questions to ones asked 2 or 3 years ago. This is the same way that I tend to discount old how-to's, because chances are the answers no longer apply to the current technology.
Even if an older question is unanswered, the user that asked the question may no longer be on Stack Overflow, or may not have visted the site in 6 or more months making the likelihood of getting that answer check mark very slim. The fact is, old questions just don't get the attention that newer ones do.
Simply put, Stack Overflow gets duplicate questions because its workflow encourages it. No matter how much moderation you put in place, and how much closing and merging you do, you're just plugging your finger in the hole of the dike. The only way to fix the problem is to stop Stack Overflow from encouraging it.
So, what are some ways to discourage duplicate answers that do not involve moderation, question merging, or yelling at users for asking duplicate questions?
I think we need to either change the Stack Overflow workflow to discourage duplicates, or we need to accept that duplicates are a way of life and create process that makes them useful. What is not useful is having a workflow that encourages something and then running around after people and trying to clean up their messes.
Simply put, SO gets duplicate questions because it's workflow encourages it