I have just read Why contracting developers refuse to go permanent. It says:
Working with legacy technology is something the developers I spoke to were not particularly fond of. They explained that these pieces of software are often built using outdated methodologies and poorly documented, if at all.
This is true, but my experience of dealing with several legacy projects which were written by contracting developers is like this:
This one is in Rails from three years ago and is full of CSRFs! This one is in Ember! This one is hard-wired to a five-year-old version of WordPress!
Yeah, it’s definitely the organisations which are the problem.