Even so, it's true you rarely have a voice in changing things. On the plus-side, you generally don't get involved in office politics as a consultant. On the minus-side, this leaves you with nearly zero power.
I've gone through cycles of looking for ways out and I found one outlet that may or may not pan out, but it keeps my skills fresh.
I'm a serial entrepreneur (currently without a success) that works on my own ideas with my own money working with people I like and respect. My first start-up was in ed-tech and although every (and I mean everyone) loved my idea, I couldn't get it off the ground.
My second is a work in progress, I have a partner, and our app should release this summer. It will be interesting to go through that process.
Even so, I still love coding and being around coders. I was at a design agency a couple of years ago and a young guy, early twenties, out of the blue said, "Dude, you're awesome."
I had no idea what he meant and then he added (I'm paraphrasing), "You've been writing code for 30 years and you still love it. I just started two years ago and I love it and I've always wondered if I could do it as a career...if I would still be passionate when I get old. You're living proof that I can. You're awesome dude."
The OP was kind of talking about money and stability and effecting change, but there are also responsibilities on that side of things some of us programmers just aren't cut out for...so I say be passionate programmer and be happy you have a marketable skill.
Without one or both, the world gets a lot darker.