Well congrats on your org for having integrity - but the math is simple, let's say the median employee has been at the company for 2 years, during which his market rate has jumped by 20%.
To hire a new employee at market rate, you have to give your team of lets say 10 employees that much money, which is euqivalent to hiring another 2 people for 'nothing'.
There is always the risk that some of those 10 employees with intimate knowledge of the product/infrastructure/etc decide to try to get their pay raised, but get denied and then decide to leave. If the employer is a proper badly run company they will fire those workers (not legally possible thankfully in many places).
This can then immediately poison the water source so to speak for the rest of the team which now realises how they are getting screwed over and/or start realising the nature of the relationship between them and the employer.
They then start accepting offers elsewhere, and one by one the team is no more, with no one available to take care of the product. This in the end has a huge financial impact on the company, which is much greater than the salary they saved by not adjusting those ten employees.
I have experienced two situations like this in my career. The whole team, or close to it, was wiped out with no one knowing how to take care of the software product (in one case the team had been developing and supporting 10x mobile apps).
A month after leaving, as I was the last to go, I was contacted by my former manager and asked if I would be willing to come help them out with the mobile product that I had been the lead on, since the new fresh out of college graduates they had replaced us with were having issues.
I charged them a fine hourly amount for a minimum of one day, came in and fixed the issue within 20 minute.
Those fresh grads didn't know the products, the codebase, the tooling nor the space that the products were in. And within two years, all of them had jumped ship for new employment.
if people were interchangeable cogs yeah sure, but they aren't. Not in some feel good "everyone is special" kind of way, but even if you had hypertwins (both genetically and experiencially identical) where they only difference was one was working for you for a year and the other wasn't. the one with experience AT YOUR COMPANY is worth a whole years salary more, because you'd have to train that new one for a year to get them operating at the same level.
But it's even worse than losing the salary though, because you can often find some money somewhere to replace that cost. You CANNOT do that with time, ever.
To hire a new employee at market rate, you have to give your team of lets say 10 employees that much money, which is euqivalent to hiring another 2 people for 'nothing'.