There's no "reward" just for closing posts as duplicates. The motivation comes from wanting to help clean up the site, and help future users find good content.
We close posts as duplicates so we can have a de-facto post that explains the issue, instead of a thousand people explaining the same thing over and over again every time it comes up.
Perfect example: NullPointerExceptions. We get many questions every day regarding fixing NPEs on Stack Overflow. 99% of the time, they're all the exact same fix, which is explained in the de-facto duplicate post "What are NullPointerExceptions and how do I fix it". We don't need new answers every time just to tell people to ensure that their variables are properly initialized, and mention the other edge cases. The answer in the main dupe target explains it better than most people could, and directing people to the existing, great answer helps people learn better. We also don't need to give personalized answers to every possible question. People should be able to read over the dupe posts and connect the dots to their problem.
It should also be noted that getting your post closed as a dupe isn't all bad. Yes, it can be a sign that you did insufficient research, but your post is not deleted because it was closed as a dupe. It remains as another way to direct people to the existing good answers in the established question. Your duplicate question helps more people find the right answer on the future; it's just that the right answer isn't in your question itself, but the post that it links to.