The key phrase here is "off and on." If these consulting firms are such fine employers, then what is the reason for ever going off? I would think that if it is so great, one would go on and stay on.
Have you ever done any consulting? "Off and on" - that's because consulting firms send you to their clients on assignments. If there jobs that require your particular set of skills and you are interested in those jobs, you are "on", is there are none at the moment, you are "off", and might go to another consulting firm that has an assignment for you.
Some of the assignment are short (a few months) - that's why they don't need a permanent person. Some are longer, and for those some consulting companies sometimes would employ you full time with benefits if you wish - but those jobs also end. Because if the client needed a permanent person, they would ask for a permanent person, not a consultant. If the job is for a few months only, do they really need to commit to a permanent employee? For that kind of job they can always find a skilled person who is also not eager to commit, but would like to get (and can command) a good pay for their work.
The clients get the job done, consultants get some short-term good money and new skills. Also a win-win situation - just for different needs on both sides.
I've done some consulting earlier in my career. They gave me some new skills, very good names (client companies) on my resume, and some pay jump which helped me to get better salary on my permanent job. Say, one job lasted 2 years, during which I've been a consulting company's full time employee with salary and benefits; another one was paid hourly (very well paid) and lasted 6 months, then a few days several months later.
Why did I stop consulting? Because I have a family with kids, I need stability, predictability, medical insurance, sick days and long paid vacations more than higher hourly rates. Because my husband doesn't have medical insurance. My requirements changed with time, so is the type of my job.