This may be caused if you sync your phone to different accounts that have contacts saved. If you have different accounts on your phone (Yahoo, Google, AoL, Hotmail, Facebook), stop all the sync. I suggest using one account for your contacts (I prefer Google) and then also backup by exporting your contacts to a vcf file.
There are apps on Google Play store that you can download to find duplicates and delete. Some of which are Duplicate Contacts (link) and Contacts Optimizer (link). Both apps I tried in the past and worked perfectly fine for me. Before using the apps, just to be sure, make a backup of the contacts.