Half the times it's "falsehoods a programmer back in the '80s believed about names and I have to operate with that goddamned system".
That and we have to support all the cavemen that want to sort by last-name. I'm perfectly happy to just use one 1000-length UTF-8 field for names and skip all the stupid abbreviations and worrying about firstname/lastname, but for some reason the BAs insist on supporting "Mr. So and so" and being able to write "Lasty, Firsty" as if that is in any way useful when you've got a searchable document.
I suppose you might occasionally need the Lasty, Firsty when printing into dead-tree-form, but when have programmers ever cared about that?