Well said. Loosing an engineer that knows the product and company hurts you more than newly hiring the same engineer benefits you.
Most companies have chosen to not retain employees with rising salaries, however, but instead using relationships and "benefits" like lunch opportunities, free breakfast/snacks, gyms, cool work places, flexible hours etc.. They work and are way cheaper than paying people more.
I don't even know if that's bad, because I do enjoy a lot of benefits similar to that, so that's worth some salary to me. The problem is when the theoretical salary should be so far above that the benefits aren't worth it anymore, but you don't notice it, because staying is easier than leaving.