![](/static/253f0d9b/assets/icons/icon-96x96.png)
![](https://programming.dev/pictrs/image/8140dda6-9512-4297-ac17-d303638c90a6.png)
Well, I’ll give it a shot.
Part of it is that they can’t know the point that someone is willing to stay vs leave, and they’re always optimizing for that point. Saving money is always the goal for expenses in a company.
Part of it is that they have a budget that they can’t exceed. Sometimes a person is overqualified for the job, and the job simply can’t afford them. Sometimes that person will stay far longer than they should, when they could get paid much better elsewhere, and sometimes they choose to move when they’re only slightly underpaid for their skills.
Part of it is that there is more to a job than money. Being comfortable, un-stressed, and generally happy is more important at some point than more money. The company tries to balance these things, as it’s often cheaper to relieve or prevent stress than pay someone to put up with it.
In the end, it’s super complicated, but all about money, on both sides.
To add to that last point, I worked for a company (at retail) that claimed to know that keeping customers was cheaper than getting new ones, and corporate even implemented a policy where the clerks on the floor had up to $100 to keep a customer happy. I never once saw that $100 used, and the one time I tried to keep a customer (who had just spent $3000) happy, management refused to let him return a crap $100 printer because he didn’t have the manual in the box. He had left it at home, and was glad to bring it in next time he was in. Nope. And that incident was within a week of implementing that system.
So even when a company understands that point, it’s still really hard to make good on it at the levels that it can matter.