For the past 24 hours I have been so confused by this whole Contact syncing issue. But I now believe I have a resolution.
It was yesterday when I noticed that some contacts that I had added Notes information to on my iPhone, did not appear with those updated Notes in my Contacts application on my iMac. I've spent hours upon hours trying to understand and resolve this issue. I think the problem arose since I updated to Mountain Lion last month (but I just noticed it yesterday).
What I have finally resorted to is not storing the contacts on my iMac, but instead totally using iCloud for storage of those contacts.
If you look at the upper left of your Contacts window, you'll see "All Contacts", "On My Mac>All on My Mac", and "iCloud>All iCloud". See image, wherein "All iCloud" indicates being selected (bold light blue wording)...
I plan to keep "All iCloud" selected from this point on (or until Apple resolves this issue and makes it simple). I have deleted all my contacts in "All on My Mac".
If you try this method of resolving your sync issue, before deleting all your contacts from your Contacts application, you may want to select File>Export (from within your Contacts application), and create a backup. You may want to then select "All iCloud" and do the same thing (name it slightly differently so it doesn't overwrite).
Then, go back to "All on My Mac", select a single contact, then perform a "select all" (Command-A) so that all your contacts are highlighted. Then hit your delete key on your keyboard. You'll be given a warning. Hit okay, and then all your contacts will disappear from your "All on My Mac" selection.
Then select "All iCloud", and use that exclusively.
Now, when I add a contact using my Contacts application on my iMac, that contact appears moments later on my iPhone (and vice versa), and edits all seem to work no matter where they originate. That makes sense, as it is just one database that Contacts, iCloud, and my iPhone are working from now.
I'm concerned about not having a local backup of my contacts that are now exclusively stored in iCloud. Maybe I'll occasionally do an export and save those, so that if something happens to iCloud, I'll be able to restore from something locally stored.
I hope this helps you understand and possibly gets you back to having truly synced contacts (and saves you hours of trying to understand what should be a seamless operation). Good luck.