One reason for a senior engineer to move to consulting is that they are tired of being forced to prove that they know how to program every time they switch jobs.
Companies are far too risk averse when hiring, and the amount of hoops you have to jump through is getting more onerous every year.
I'm currently a full-time employee, but I've consulted for about a decade in total. Convincing someone to pay you 2 weeks up front for a contract is significantly less hassle than convincing someone to hire you full-time at a software company.