It's one of the more "hidden" quirks of Windows. Every Windows program relies on a few specific DLL files in order to operate. Problem is, Microsoft likes to modify these files and neglects to mention it to anyone most of the time. They also neglect to mention what they changed. Sometimes these changes break other programs, so 3rd party vendors have started shipping their own versions of these DLL files. To the casual observer, they may seem like duplicates of one another, but each one has subtle little differences that mean the difference between a program running normally, and having strange problems.
It's better to lose a little disk space to these files when you consider the potential results of messing with them.
If you're really hell bent on getting rid of them, you'll need to find a dependency checking program for these files. You will have to manually go through each one, look over the list of dependent programs on your own, and then delete those that are actually duplicates. It's a very time consuming and tedious process, which just isn't worth it in these days of cheap and abundant storage.
I want to purge my system from "true" duplicate files. However, when I tried to do so in the past, I ran duplicate file finders, and deleted files which were supposedly duplicates. I then had to locate and reload a number of them because I began to have inconsistencies in my system. My system presently shows a large number of duplicates, but how can I be assured they are before I delete them?