Where I’ve left of my own accord it’s been down to boredom or lack of progressing with skills (as a software developer. More interested in the skills and keeping interested in the job than climbing ladders). That and money.
Yet the companies themselves were nice places.
I’ve generally got a 3 year tolerance for jobs. Same old thing for too long just gets tedious even if at first it’s quite enjoyable.
Anyway, contracting for some time now and change is just part of the job. Most of it is down to the companies and contracts, though my contracts tend to end up longer term rolling contracts even if they start out as “we only need you for a few months”. Company changes or finances usually bring it to an end, then just move on to the next. Thankfully I don’t go through redundancy process any more. Out one door, in the next (or in my case I take a long holiday before the next 😀 ).
Current situation is more interesting as it’s half work from home, and I’m trying to push my business to be far more freelance remote working rather than taking up a desk in someone’s office (thus saving them space and money and saving me a commute). Pop in for meetings, discussions etc.