In most cases, this means your employee is already gone. I've been the guy in many situations who "saved" an employee who was leaving. Whether that required offering a non-scheduled pay raise or bonus or not, they usually left within 6 months. When an employee tells you this they're either trying to scare you into giving them something or want to leave.
Once the conversation starts, they are putting themselves in a pickle regarding the loyalty to their current employer, and most likely are building some loyalty to the new employer.
Let's say they stay, or are pondering the decision for a long time. You as the employer will never trust them as much as before and will feel like you were manipulated into talking them into staying. And they will feel a bit strange, kind of like telling a significant other that you're thinking about leaving.
And what happens if they stay and this comes up again in 6 months? We know the answer to that.
Are you underpaying them? It still probably doesn't matter, too late to fix that now. Also, both sides will have a delayed reaction, thinking everything is O.K. at first then growing their discomfort and/or resentment.
Just the fact that you're posting this question means you're likely frustrated.
You can't force them to stick with a decision, most employment is at will. What you can do is give them incentive. Where this has worked best for me is when we work together to sincerely analyze the employees strengths, weaknesses, desires to maybe restructure their job in several small ways. It's not always the money.
Contact me if you'd like to discuss more or if I can help you with this.