The way we handle duplicate contacts is that we allow only one contact record in the system for each email address. In other words, you can have many different John Smith records, but you can only have one John Smith with email address firstname.lastname@example.org.
As a result, if you import a list with John Smith and email email@example.com more than one time, a new contact will not be created. If there is new or additional data on those later imports, that data will be added to record with firstname.lastname@example.org.
If you import a list of contacts without email addresses, the system will completely duplicate all records with any that are already in the system.
For account records, we use the account name in a similar way as there can only be one account with the same account name.