iPhone Contact Reverts to Old Data After Edit
Solution 1:
Hmmm... In general when I run into syncing problems like this I'll log in on icloud.com with my Mac to see what's in the cloud (versus what my devices show).
For problematic devices it's recommended to remove the account (or just disable Contacts from iCloud in this case). When prompted, choose to delete the local data. After a few minutes enable it again and then be patient everything syncs.
Solution 2:
I found the issue was due to Linked Contacts and using multiple email contact accounts.
Solution 1: Scroll to the bottom of the contact when editing, select the linked contacts and edit them in turn. Note, when editing a linked contact there is the option to remove it as well.
Solution 2: Stop iOS devices using multiple contact sources (gmail, iCloud, outlook etc.) and chose ONE of these - I suspect iCloud best. Give this some thought as you may 'lose' contacts from your device although they'll still be in that account (unless you remove the duplicates using solution 1 first) 'Settings > Contacts > Default' will let you chose default contacts account. 'Settings > Accounts & Passwords' will let you control what accounts are accessed for what purposes.
Hope this helps.
Solution 3:
I've had this problem as well. My problem is that I changed the ringtone of my wife to ALARM so I could hear it on a noisy day and wanted to change it back. I deleted the European numbers associated with the contact and changed the ringtone to the default. After a random amount of time, it reverted to ALARM and added the erased European numbers. Hmm.
Go to the contact. Tap edit. Scroll to the bottom. See if the contact is LINKED to another contact. In my case "Baby" (my wife) was LINKED to another contact called "Baby" that had that European number. Somehow it kept reverting and merging the two. Not only that, it would say "Call from Baby or two others" each time the ALARM would sound. I just erased the LINKED contact and changed the ringtone again. Hopefully this is the answer.