Employers don't know ahead of time which employees will leave and which will stay. In order to improve their employee retention, employers have to pay _all_ of their employees more, not just the ones that eventually will leave. This changes the math entirely.
For example, suppose it costs 50% extra to replace someone who leaves. In retrospect, sure, giving the sole employee who leaves a 10% raise each year to retain them makes sense. But if you have to give all of your employees a 10% raise per year, just to retain that one person, it doesn't make financial sense anymore.
To be clear I'm not endorsing this system at all! But from a pure financial perspective it makes sense to me and is why, I suspect, it persists.