There are effectively multiple folders of contacts that can be kept on your phone; Google contacts (which you can choose to automatically synchronize with your Gmail contacts), Corporate contacts (which you can choose to automatically synchronize with an Exchange Server or Hotmail contacts) and "Phone Contacts" which reside only on the phone and which can be synchronized to a PC with 3rd party software. I had the problem (thanks to Best Buy's "help" transferring my contacts from my old phone to my new phone) where I had duplicate "Phone Contacts" and "Google Contacts". It was ugly, and it sounds like you're having the same problem.
If you consider your Gmail contacts to be more complete, then you should be able to:
1) Go into your ActiveSync settings, and temporarily stop synchronizing your Gmail contacts.
2) Delete all of your phone contacts.
3) Go into your ActiveSync settings, and start synchronizing your Gmail contacts.
If you consider your phone contacts to be more complete, and you want to synchronize them with Gmail, then I think you'll have to:
1) Go into your ActiveSync settings, and temporarily stop synchronizing your Gmail contacts.
2) Delete your Gmail contacts from the Gmail website.
3) Export your phone contacts to Gmail (possibly through a PC) using 3rd party software like the free MyPhoneExplorer.
4) Go into your ActiveSync settings, and start synchronizing your Gmail contacts.
If you consider your phone contacts to be more complete, and you don't want to synchronize them with Gmail, then you can just go into your ActiveSync settings, stop synchronizing your contacts with Gmail (and optionally delete your contacts from Gmail).
To access your ActiveSync settings, from the home screen press the settings button, select "Account & sync settings", and then select the account that you want to adjust.
If you use Outlook or Windows Live Mail programs , consider automatically synchronizing your contacts & calendar
this way.