Addresses and names are nice, well-known examples for cross-domain data. It's not that attempts at normalizing these structural datums create problems per se, but rather there is no single true normalization, therefore wrong normalizations start causing problems.
Yeah, normalizing inherently introduces constraints on the data. For example, normalizing to first and last name implies no middle names/having a first and last in the first place.
Also, first and last names depend on the culture. Oh and people can have more than 1 name (as in distinct names, rather than multi part names. Some cultures use different names with different social circles).
Easier to just let them put their preferred name into a freeform text field.
Very importantly, the value can be adapted to its purpose. A person's name can be very different if it is to be used for credits in a publication, for a formal wedding invitation and guest list or for shipping to a specific address.