Here's the key, a lot of managers are too afraid, confrontation averse, or short sighted to make a fight for their employee.
There are cases where there isn't even a competition for funds. All you need to do is ask for a raise and it passes through without any problems, managers just don't do it because they are too afraid of even making that very request.
That being said, I've always been able to get _SOME_ money for retention, but I've not always been able to get enough. If they go interview somewhere else and their current salary is $120K, it's entirely conceivable they could be getting an offer of $160 with a bonus structure that's better.
I've even encouraged employees to leave before when it sounded like they were going to get put into a position for growth that we couldn't offer. If they're already feeling stifled or short changed enough to go looking, any move you do to keep them now is just delaying the inevitable. If I let someone leave with a clear conscience, that's someone who could come back to the company even better than they left (it's happened a surprising amount of times in my career). It's also someone who can help me and/or my company in the future, whenever our paths may cross again.
I have followed managers to companies and I've had employees follow me to companies. If you just adhere to the damn golden rule things are a lot easier for everyone involved.
They do not fight for their people, they get work and outcome from them to achieve the company objectives.
Most probably they are right if they consider who will give them their next career opportunity.
But many companies, the companies with that 20% greener grass, are willing to give a complete stranger a 20% raise.
"The irony ... the irony ..."