A lot of developers, especially those that stay with the same company for many years and especially those working for large corporations with very healthy HR presence probably end up in this situation at one time or another. As the time progresses, you learn more, acquire new skills and end up with many more responsibilities, maybe even start leading development teams, and you start asking your self, how come I'm holding the same title and receiving the same pay (adjusted for inflation) that I was getting when I got hired?
You ask your supervisor how much more you'd need to do to get promoted to next title level and your supervisor agrees that the time is long past. But after you are promoted, your pay increased is still "HR-capped" and you realize that you are making good 10-15k below what you think the market value is for your skills.
You have two cards you can still play: 1) Look for a new job. Interview in a bunch of places and then either leave your current company, or see if they can match the pay (personally, if a company requires you to find a different job before they give you your fair value, I wouldn't stay with that company at that point) or 2) tell your current employer that your resume is posted and you are actively looking for offers. You may be happy with management, your work, people you work with, but 10k difference in salary is important and the only way to get your true market value is to put yourself on the market. So this is their chance to match your salary before you find something and leave.
What are the likely repercussions of playing card #2? Is it ever advisable to openly tell your current company that you are looking to leave your current position?