I've never done any 'IT work', and I've focused almost entirely on product development, over my 16 year career.
As a salary, I think I have plateaued at 160K, which is good enough for me. With 'adjustments for inflation', that's usually an extra $5K increase per year. There are people who make more than me, I know. For example, a guy I work with probably makes $200K (and he doesn't have a college degree).
There are always 'business problems' to solve with software, and there is always software to maintain. A lot of software never 'ends' - it just keeps going on, or dies dramatically, replaced by something similar. There's never been a better time to be a developer.
At a certain point, you'll have to become something like a 'manager'. For me, this is more of a 'tech lead' / 'architect' sort of role. I'm responsible for the quality, functionality, road-maps, integration, etc. I'm responsible for understanding the business domain, in and out. I'm responsible for managing the parts of the system, and ensuring that they all work together. I have to lead meetings, give presentations, work with the field and customers.
However, all of that is a small part, for me. I still code a good 85% of the time.
I get somewhere around 10-15 recruiters contacting me per week. So, I believe the job market is hot. But, I am really comfortable where I am. I work from home, and I run an entirely distributed team. We meet in person, when we think we need to meet. Things go very smoothly, because we're all experienced devs, and we fit together culturally.
I'm far from an 'amazing dev'. I don't have a slick github account. I don't run any important open source projects. I just know how to do a lot of different things, I am very efficient, and I have a great track record for success. I know on any given week, hundreds of thousands of people use software that I had created, and that makes me feel good.
I took the first interesting offer that I got, when I graduated from college. It was $43k. (You have to start somewhere!)
But, as you get more experienced you must also learn to understand the value that you provide to the companies that you work for. Too many developers get taken advantage of. Software currently rules the world; remember that. Companies make trillions of dollars (in real revenue or efficiency) on the things you create. You deserve a good pay, if your products are valuable.
I'd also like to underscore the comment in your parent post--"good enough for me." It's not always about pay. I'm seeking a sort of "medium chill"  existence. I currently make more money that I ever thought I would, but I also have a position with a relatively stable company where I can continue to do interesting work without unnecessarily ramping up my responsibilities with each pay increase. If you offered me a job with a 25-50% pay increase with a similar increase in work time and/or stress, I'd politely decline.
A college professor that I had (a mentor), once told me that the best programmers should be somewhat lazy. I'm definitely not a 'best programmer', but I do try to automate as much as possible and be on the look out for 'gordian knots' to cut.
But, I rarely find many, if any, gov't contractors at the HN meetups in DC.
There are actually a lot of startups here, and lots of VC money, in general. A lot of people come here to live, and work from home, here. Housing prices and costs of living are high, but not as high as some other locations (SF, NY, etc.).
So, definitely other factors, too.