Eh, at some point you find a place you like and stop worrying so much about getting 20% more in another job
Then you realize, since your raises no longer even keep up with inflation, your current job is now underpaying you - making it more difficult to hold on to what you do have.
Or alternately you jumped around a lot, make much more than your peers, and getting towards mid/late in your career where you become the target of layoffs for costing more than everyone else.
You get laid off… and then one of your connections from the last 15 roles has an open position that you fit in.
alternatively: you as 50something tech worker who has only had one gig for 15 years gets canned for whatever reason goes to the streets and every single employer who interviews you sees just how out of date you are with technology because you haven’t learned anything new in forever. You end up working at an arcade until eventually taking a huge pay cut becoming tech support or working for a low paying company nobody with experience wants to work for.
I have never seen a good worker who moves on not do exceptionally well in a year or two years. Maybe one role or two will be awful for a 20k raise so you stay a year… then the next role gives you ANOTHER 20k raise (so +40k now in just one year) and the new role is phenomenal. Two or three more years you find another role for another 10-20k and then 50k in equity that matures in x years to try and keep you. Odds are by then you have multiple offers to pick from because past managers/companies are interested in you. Maybe now you’re going back to a former company but into a more senior role because of all that modern experience you’ve gained.
As long as you get minimum 1 year in most roles, and do not have significant gaps, you’re gonna be desired. I will as a hiring manager 100% of the time be more interested in the resume of a guy who has been at 5 roles in 10 years for 1yr+ each, than one guy who has been in one role for ten years.
There are definitely reasons not to change jobs constantly. It kind of depends on industry.
Finding a new job might mean you need to relocate, which is inconvenient and becomes harder if you own a home or have a family.
There is also always a risk that the new company’s culture or your new boss are bad. It’s not something you can really know for sure until you switch, but if they aren’t good, it might not be worth the extra money.
It also takes time to ramp up and figure out the way things work. Being new in a job kinda sucks for a lot of reasons.
Your current job might offer something that is hard to find elsewhere like flexibility to work remotely when you want, or free food, or a good 401k match.
Some benefits take time to accrue and starting over at a new company might mean starting over on benefits accrual. For example, some companies increase vacation days based on years of service. Same goes for other things like percentage of 401k match. You might also miss out on claiming the full 401k match that you’ve earned at your current job if you leave early depending on vesting schedules.
Some companies have better job security than others. A new company might pay more, but also do regular layoffs. If your current company is fairly stable, it might not be worth it to move to one that does more layoffs.
Your current employer might pay close to top of market already. It could be hard to find another employer that actually would pay you more, and even if they could, it might not be worth the little extra for all of the other above cited risks of changing jobs.