You can stop users from creating duplicates by creating a duplicate rules inside Salesforce. this process is usully not recommnded for leads, cases and other use cases.
As a business you want to know that a customer contact your business twice and you usually want in those cases to auto-merge the cases / leads and concatnate the relevant desciprtion/message and to keep all the relevant provided details. To auto-megre those kind of use-cases you will need to use zaapit.
Stop new duplicates with Salesforce’s duplicate rules
When sales reps are in the process of creating or editing a record, Salesforce allow you to alert them that the data they’re entering duplicates . You can block sales reps from creating duplicate records altogether, whether or not they have access to the existing record. You can activate duplicate rules and customize the settings to fit the relevant senario. For exmaple, when a rep is creating a company named coca cola UK and there is a record named coca cola US those records in some cases should not be treathed as duplicates. I.e. you should allow the rep to enter the new record..
Stop / Clean new duplicates with ZaapIT for Salesforce
You can use ZaapIT to merge any kind of duplicates and keep the right data, the to clean up your duplicates.