I did just recently have a good turn where the recruiter who helped me land my current job helped negotiate a bit higher pay and a week of vacation. I wasn't going to push that hard because I needed to be working and not sitting on my ass, but he did this for me without my asking and it worked. I was pretty thrilled that after so many years, someone else gave a damn about me. First time.
This makes it impossible to adequately take employers up to your real market worth as a long term employee. Too many of your coworkers will accept 50% of their worth rather than risk stress and a crises if a change falls apart. So as long as the employer only needs a kernel of long-term employees only a union has the necessary leverage.
One of the most important reasons software development is not like actual engineering is because the practices associated with actual engineering aren't valued in the world of software, even though the political components of employment (e.g. loyalty, longevity at a company) are considered signals of high(er) quality.
The vast majority of developers simply don't have quality employment options for most of them to consider long-term (> 3-4 years) employment with a single company to be a good economic or career decision.
In a smaller company, I would be worried about 'revealing my hand' to a potentially vengeful manager asking for a raise and I would rather just leave than try to get them to counter offer. That is, if I ask for a raise and s/he denies it, I would feel that I would probably be the first one to get cut when the time comes so I might as well leave. In a larger company, I might try to work with the manager on a 'career plan' assuming the manager in question is not toxic; the toxic ones will pretty much ensure that one gets a 'needs-improvement' type rating, which pretty much limits any movement for the unfortunate employee from that point on.
As your potential employee I'd be more than happy to shake your hand and leave. Very rarely does a company deserve employee loyalty, and you as a linemanager should at least try to earn your employee's loyalty by paying them what they are worth, rather than what you can get away with.
Remember, you too have a boss, treat your subordinates like you would like to be treated.