It's easy to imagine clever ways to address this problem (though most are probably patented -- even though they are trivial to reinvent). That's not what Apple did.
Instead Apple "links" (merges when viewed in iPhone) based on matching first and last names. That's a formula for high error rates if you have a large number of contacts. (Though I admit it probably works for most people who have smaller number of Contacts.)
This rule is "sensitive" (will favor merges) but not "specific" (high number of false positives).
I ran into it today, and I deleted information before I realized what was going on.
Now you're warned. If you see a screwy looking contact in the Contacts.app, first look for the "unlink" button. It will appear when iOS has done its automated "merging". Click it before you start deleting apparently nonsensical information.