This is exactly the problem. For people that have worked a few different roles and seen bad practices/environments and are now relatively happy where they are, why leave?
The US software industry might be at another inflection point where in order to recruit senior roles, salaries have to move up significantly. Sure there are other factors candidates consider but changing tech stack, culture, process, etc. is much harder to do if those things are a problem. In contrast to those things, paying more is easier to do and that is even considering how hard it is to get approvals/budget as well as fairness with existing staff.
The US software industry might be at another inflection point where in order to recruit senior roles, salaries have to move up significantly. Sure there are other factors candidates consider but changing tech stack, culture, process, etc. is much harder to do if those things are a problem. In contrast to those things, paying more is easier to do and that is even considering how hard it is to get approvals/budget as well as fairness with existing staff.