In many ways I don't disagree with you, but in many ways I do.

I left my first four jobs purely due to money -- particularly the first three. There is nothing those businesses could have done to retain me short of a rapid and vast increase in pay.

The fourth one was about money, but it was also about several of your other listed factors. I was underpaid sure, but I also had excellent work conditions, good work/life balance, great benefits, great recognition and easily the best work mates I've ever had. I miss those few years daily and wish I could return there, but with better pay and differently aligned work responsibilities.

After these jobs I entered a very different phase in my career.

My next three paid me well enough that pay wasn't an issue, I could live comfortably, travel when I wanted,have plenty of toys, etc. All have had meaningful work, but most of the list was off with few exceptions.

These two major phases, early career development and later career development have been very different in terms of what has motivated me to stay.

Early career - rapid advancement -- which was really a proxy for more money.

Late career - now that I had sufficient money - I either have to find work where I can advance or find something I can stay in steady state till retirement. I prefer the former, but it's surprisingly easy to find yourself in a situation where neither are true and it's time to move on.

Operating under the assumption that I won't take a job that doesn't pay well and provide meaningful work and reasonable work conditions, here's what motivates me to leave these days:

- Lack of good leadership and a clear direction with strong decision making skills and high workforce engagement.

- Leadership that doesn't invite input from experienced employees.

- Cronyism. Nepotism. Brown-nosing. Machiavellianism.

- Non-congruent culture. Very hard to judge until you work there.

- Lack of stability in the work environment.

- Artificial glass ceilings.

- Misdirected recognition. I'm not bothered by an environment of no particular recognition, but I am bothered by one that directs it to the wrong people.

- People getting passed over for obvious promotions. It's usually tied to Cronyism and Nepotism, but not always. I've even happily taken positional promotions that weren't tied to pay increases.

I've found that most people I know who've stayed at a job long-term usually hate their jobs, but for a wide variety of personal reasons fear they can't find equivalent or better work elsewhere. Some of them are highly qualified and experienced, but stay only out of an irrational fear of staying with the devil they know because, as one friend put it, "it could be even worse someplace else!"

Here's how I view this: really excellent employees need continuous challenges, most business will eventually run out of new and interesting things for those employees to work on and try to make it up with positional advancements, but at some point even those slots will run dry. It's perfectly natural for excellent employees to move on elsewhere and there's nothing wrong with it. It's incumbent on the employer to make sure that the work that person was doing wasn't staffed one deep and has a plan B for the eventuality of that person leaving. Turnover can be good, it's natural, it should be embraced just like Google embraces failure in their scalable systems. Good employees should leave with your blessing.