iPhone Facebook integration overrides local contact names
Just to give post-iOS 7 input, the contact situation is still problematic. If a Facebook friend changes their last name to something else (or uses a joke name), it will cause sync problems with your contacts.

You can “Link” contact cards together (edit one contact, go to the bottom, hit Link Contacts, and connect it to another card). This usually keeps the contact info connected even if the name on Facebook changes, but in my own, personal experience, contact sync errors happen when it tries to update from Facebook when you have a poor cell/wifi connection. But that may be unrelated.

A side note: I found a bug in iOS 7 though; when you link personal cards (i.e. your information from Facebook to your personal card that Siri uses), deleting duplicate or outdated fields will cause the Contacts or Phone app to crash. So if you link your own contact cards together and have to make an edit, you have to unlink them first.