We can close questions as duplicates. So if a question is a duplicate, vote to close (or, if you have less than 3k reputation, flag to close and consider commenting).
Often, answers are valuable, but are just in the wrong place, and should be in the more established question instead. In these situations, a moderator can merge them. After the question is closed, it can be flagged to request this. (This should not be done indiscriminately, but only when one or more answers on the duplicate adds something not present in the answers on the master question.)
If someone deliberately answers questions they think are duplicates, that is usually bad, and it is best to explain why we close questions as duplicates.
Otherwise, the solution to people answering duplicate questions redundantly is for us to close them faster.
Here's my concern: No one should feel that they have a special duty to search for duplicates before answering a question. Most questions are not duplicates. If a question doesn't get enough views for someone to notice it might be a duplicate and look into the matter, that's a problem of its own. We shouldn't adopt any policy (formal or informal) that makes it substantively harder to ask or answer a question, since questions and answers are what the site is about.