There can be a halo effect - the better your current jobs, to some degree the better offers you get - but I still think that on net, you should be more reluctant to leave a decent situation. If your current job is in the top 10% of jobs, then the odds are 9 to 1 that switching will get you something worse.
It seems low, but with the inefficiency caused by turnover I guess 70% is where they settled.
This is a wise insight. It therefore would be good if developers had created a Glassdoor-like site where people can enter technical details about their jobs (languages used, appreciation of refactoring, software tools, pair programming, technical documentation, use of version control, A/B testing, unit tests, UML, ...) in order to permit people to get a sense of what they're getting into. Asking about this at interviews is not productive, as hiring managers may bend the truth a bit to get talent on board.
I loved my first job. Every thing about it. But looking back in hindsight, it was a vanity project of the ceo, and was never going to recoup the manpower investment. Requirements and goal posts were ever-shifting. I was too naive to even perceive role status and did little or nothing concrete to forward my career except turn out (quality) code.
I loved it.
I would be frustrated to distraction if I were in that position now.
The one consistent thing in my career is I don't tolerate jobs that have too little work to do. I've had 2 jobs at various points in my career where was I told to just hang out for extended periods of time, and in neither case did I make it a year working there.
For some odd reason, it always seems like getting that inertia is easier at the next job than the current one.
(By your own judgment.)
I have incredible frustrations at my current job but the 2x increment I got compared to my amazingly fun job I had in a small company before makes me brush them off much more easily :D