HubSpot prevents some duplicates on its own. It uses email address to match contacts and, in most cases, company domain to match companies, so a form fill or import with a known email updates the existing contact instead of creating a new one. Duplicates still appear when a record has no email or domain, when the same person uses two email addresses, when a company has several domains, or when an integration creates records without matching first.
The damage is spread out and easy to miss. Activity and emails are split across two records, so reps see half the history. Two owners may work the same person. Marketing contact counts rise for the same human. Reports count one customer twice, and segments (lists in older portals) may include both copies, or neither, depending on which one meets the filters.
HubSpot can suggest likely duplicate pairs for contacts and companies, depending on your subscription, and lets you merge them. Merging combines activity and associations into one record, but you need to choose which record is primary, and some property values from the other record will not carry over. A merge cannot simply be undone, so review pairs before merging, especially for customers and open deals.
Preventing duplicates is cheaper than cleaning them. Require email on forms, check how each integration matches records before connecting it, clean import files against existing data first, and make sure reps search before they create. Then review suggested duplicates on a regular schedule rather than once a year.