Salesforce does not really arrive as one product. It arrives as a platform that a predecessor, an implementation partner and two or three admins have each shaped over several years. By the time anyone looks at it properly there are custom objects, record types, validation rules, a managed package somebody bought for one project, and Apex written in 2019 that still fires on every Contact insert.
That is why the off-the-shelf connector which demos beautifully fails on your org. It posts a Lead, a validation rule rejects it because a custom picklist is required, and the failure lands in a log nobody has ever opened. Or it writes fine, but field-level security on its profile drops half the payload without complaining, so the record looks complete in a list view and is empty when somebody opens it.
Making Salesforce work is mostly reading your org, not writing code. We go through the objects, the automation and the permissions before building anything, write against what is genuinely there rather than what the documentation assumes, and test against copied records so the surprises happen in a sandbox instead of in front of a customer.