There is an excellent paid only WebmasterWorld thread on the topic of why would the best SEOs decide to take on client work, as opposed to building out their own ideas and cashing in on those ideas. The rational is, if they are the best, why not make a living doing your own thing then making someone else rich?
This debate really is valid in most "consulting" practices. But many SEOs get a thrill from helping other companies achieve their goals. In addition, not every SEO has the entrepreneurial spirit to run their own thing. Some do both and have client work as a way to reduce financial risk.
I personally run a web development shop named RustyBrick. Sometimes clients ask me, what is stopping you from taking our idea and doing it yourself? I respond, I am in the business of building web sites and software, not in the business of running other businesses. Of course, I have built out our own software and products but at the same time, most applications and software require a whole new business to operate them. In many cases, one doesn't have the means either financially, physically or emotionally to run a separate business.
There are many reasons why an SEO might do client work. What are some of yours?
Forum discussion at WebmasterWorld (note, paid access required).