As long as you need money the system will always get you.
The main thing to me about freelancing is that I say yes or no.
If those two factors are fullfiled I am able to move freely. To save money you need to have an according higher price and to give software away you need to write maintainable/readable software.
The rest to me is up to your personality I guess. I personally would prefer writting only isolated software, but a lot of it depends on scale, purpose, environment, language ...
So it's hard to pick one, I only can refer to the idea of Uncle Bob in the talk 'the future of software development'. You have to take the responsibility for your software.