Deciding between different PhD programs Edited Version  


What are the main characteristics and qualities that you would consider if you were going to choose a PhD program in theoretical computer science (or related areas) today (based on your experience) and why would you consider them important?
What are the credible sources that I can get information about those characteristics of PhD programs?




Especially I would like to hear your opinion about the following two issues:


If you had to choose between a program with a global and better brand name and another one with a strong research focus, which one would you choose? why?
Which of the following two is more important in your opinion: availability of specialization one wants vs general teaching/research quality of faculty?


Thanks.
What are the parameters that one should look for? 
Number and quality of the faculty working in your area of choice or related areas, ease of finding an advisor, opportunities to collaborate with different people in the program, how well funded the program is, quality of the students, how successful are graduates in finding jobs/positions that you would be interested in after graduating, etc.
What are credible sources other than institute website/provided materials to get information about the course or program?
Other students in the program are one of the best sources of information. Most schools should have an Open House for admitted students. Highly recommend you go to them.
Do brand names really matter? (As in if you had to choose between one with a global and better brand name and other with a strong research focus)
The story I've heard is that brand names matter in the sense that you'll likely find an excellent and diverse faculty body making it easier to find an advisor and do good work in your field. In addition, on average, the quality of students at such universities is likely to be higher which can be important as at least in my experience, I tend to learn a lot from my peers and work harder if people around me are working hard too.
You'll also have an easier time getting a good CS job and can also help when looking for a postdoc/faculty position if only because it would be easier to collaborate with a well known faculty member who could write you a great rec.