Typically Ph.D. programs in computer science offer funding (via fellowships, research assistants or teaching assistants) that cover your tuition and a small stipend. But a few programs at some financially-strapped universities are offering admission to the graduate program without such support. Should you join such a program if you can afford it? Maybe you'll get lucky and find an outside fellowship or an well-funded advisor but you have to worry about how much commitment the school will give you if they don't have a financial stake in your success. You really need to talk to the faculty involved and make sure you are comfortable with the situation.
As the field of theoretical computer science has gotten quite broad, theory groups at most universities cannot hope to adequately cover all research areas. Some departments have made the conscious decision to build strength in a particular area (like Northwestern in Algorithmic Game Theory). Joining such a group can be exciting if you are interested in that line of work but explore what other options would be available if you were to change your mind.
Perhaps you are looking at the lousy job market for tenure-track faculty and thinking about not attending graduate school at all. Don't worry. As undergraduate enrollment is on an upswing, the economy recovers and the first wave of computer science faculty starts to retire the market should get much better by the time you get your doctorate. (And if I'm wrong this post may mysteriously disappear).