Good salespeople don’t lie or promise things to the customer that they don’t know can be delivered. If you have those people around, the problem isn’t them, the problem is the sales leadership who hired them.
THAT SAID, good salespeople DO tell the customer, without knowing if a thing can be delivered or not, that they will do everything in their power to deliver it if it is possible. From there, part of their job is to put pressure on everyone around them to make it happen if (a) it’s possible, and (b) financially feasible.
Developers who gripe about the part in italics above become part of the problem. Further, I’ve been in way too many meetings in my life where one developer says something can’t be done, another one says it can be done, and when you put them all together, the first developer was, well, if not baldfaced lying, certainly blurring the line between “it can’t be done” and “it can be done, but it’s not easy”.
Two points here: The company must sell shit to stay in business, or nobody has a job. Secondly, it’s not always the salesperson who is the problem.