The first RULE of Customer Data is: Customer Data is NEVER Perfect
Customer data is nuanced in ways not found in any other form of data matching - and the reason why is simple. Every record in every database - and every instance of data inaccuracy starts at the point of entry ...and in every instance, the contact record was created by a human - with fingers on a keyboard.
Take a moment to think about that statement. Your data and the data you acquire comes from somewhere, and the genesis is always a human - regardless of its source!
A matching engine must understand the context of the full contact record, not just a field - and should never expect or rely on any single item of data being correct or consistent! Names cannot be standardized, and even with the best efforts of data extraction, and data parsing and data standardization, random keying errors, and variation in data are unavoidable.
In the real world, matching logic must handle far more difficult issues - Because customer data is 'nuanced' in ways - not presented in any other form of data matching. Issues such as: