Vantaggi
I'll write from the point of view of a new college graduate. Starting your career off TCS makes more sense if you eventually see yourself in a management position for information technology positions, or you intend to eventually pursue a management or MIS degree. There is some exposure to the business side of things, TCS being primarily a software services company. Work environment is usually good, although it depends specifically on the project you work in and how good the management is for that project. One of the USPs that HR at TCS use to hire employees is that within TCS, usually by the end of your 2nd year of employment, you will be sent abroad ("onsite") where there are more opportunities to contribute and more responsibilities, and ofcourse more money to be earned, than working "offshore".
Svantaggi
Being a semi-tech company relying mostly on outsourced projects, life at TCS tends to get monotonous to the point of being absolutely boring! At the lowest level, employees are restricted to being what I call "Software Masons", just contributing to mindlessly laying bricks instead of working on the blue print of the software. For a computer science/engineering major, the work offered at TCS is usually sub-standard and if you are the kinds that wishes to apply core computer science and engineering fundamentals, TCS is not the place for you. Life and career move slowly, almost to the point of stagnation.