Wordpress duplicates my contacts
You should go look at your civicrm_uf_match table in the database.  If you ever cleared out users in bulk or moved from one site to another, you probably have entries in there for users or contacts that don't exist.  The purpose of the tables is to link users from your CMS (the uf_id column) with contacts from CiviCRM (the contact_id) column.

The (relatively) foolproof method to deal with this is the following


Log out from WordPress
Run the following query, which will empty that table:

DELETE FROM civicrm_uf_match;

Log in to WordPress again.  This should cause CiviCRM to find (or create yet another copy of) your corresponding contact record.
Go to CiviCRM, and in the menu, select Administer > Users and Permissions > Synchronize Users to Contacts and follow the prompts.
It will find or create a contact for each of your WordPress users.  You may find that it generates a handful of duplicates.  You might run a Find and Merge Duplicate Contacts search on individuals when you're done: this may have generated more duplicates, and it sounds like you may already have a bunch of duplicates.