The Workday API has 2 contact functions.
Maintain_Contact_Information is the most commonly used but it has one “major” difference with the Change_work_contact function, it checks if there is an outstanding work item on the record, if there is, it fails to update or writeback. So lets say for a new employee, HR has sent them the offer and asked then to log into Workday and confirm their details, that is an outstanding work item. For an existing employee, if they did a name change that requires manager approval that is an outstanding item. The result is the writeback fails. If you have your C# logging well setup you will see the workday error that there is an outstanding item preventing update, the workday admin can also see it on their logs.
The Change_Work_contact_information API does not do this validation, it just does its update whether there is an outstanding item or not.
Both functions have different requirements for their use. The coding, the business process involved is different, I would say the Maintain_Contact_Information is much easier requirements wise, probably why it is popular. There are some businesses who may say, No, I do not want an update to occur until the outstanding item has been completed, so make sure you discuss both options with the business first.