Too many developers only focus on the specifications, and don’t try to understand the specifications by trying to understand the user. Instead they complain that product owners, product managers, designers, or analysts fail to give the proper specifications. I don’t see many developers really trying to understand their users. But this may be different per domain…
I agree with your assessment, except that an engineer has the incentive to make the product work as specified.
A salesperson is given their goals by management, and they are compensated on achieving that goal - not necessarily what the customer wants.