It’s because they know one dissatisfied person leaving is cheaper than either giving everyone a raise or creating 1 satisfied but many angry people after the others were ‘unfairly’ looked over for a raise.
That and for many people/managers it’s just the default to do nothing until required.
Edit: this is part of why unions are so important.
That is only true when employees are not skilled and do not gain inside knowledge.
Small business with one person leaving having a catastrophic impact, sure.
Giant corporation, one person can’t tip the scales, regardless of skill and knowledge.
Small businesses do the same shit.
As an embedded systems engineer, I left a small business to triple my pay. They eventually replaced me with someone at twice my old salary, but they couldn’t hack it and the company folded not long after.
I was at a small company for 7 years working 50-60 hours weeks. I left for a large company where I work 40…at most. Usually I get my stuff done and have a “free” day.
Even including the overtime pay at the first job, my checks here are over 50% bigger.
It took the threat of poaching for the boss to do anything but they wound up giving my coworker a raise. Clearly they had the money.