Join TCS only if you have some sort of guarantee that you will be sent onsite early. I have worked in TCS for more than 5 years and I know the INs and OUTs of the bad practices that are followed there.
Things ppl like:
1) Onsite opportunity(If you get one). Its widely accepted fact in the industry that TCS is one of the best in this regard. But, to be honest, it depends on the project. Also, one has to consider the duration.
2) Job security:TCS is just next to a government firm when it comes to job security. No matter "how good" or "how bad" you perform.
Things ppl dont like:
1) Onsite Rotation Policy: Well, on paper there is always a policy in place as to how long one is supposed to stay at onsite. But the rules are there only for a few professional resources. For rest of them(those who please the managers) there are no rules and I have seen such people sitting at onsite forever. If a few resources are stuck to their position/stay in onsite it will get more difficult for the people at offshore to get opportunities. Please note that onsite allowances are different in different countries. :-)
2) Office politics which include: Groupism based on region, language, caste and in some cases even religion. Gulti, Mallu, Tamil, Bengali, Marathi etc. factors are indeed there. Though not many regionalism cases have been reported in North Indian offices.
3) Favouritism: Your immediate supervisor is the first and last person in the organisation you have to please. If your immediate supervisor is happy, you will be happy in tcs. Keeping your immediate supervisor happy does in no way mean you have to perform "good". A way to find if your supervisor is happy or not is your appraisal rating.
4) Discussion ettiquettes: Your manager may scold at you in front of rest of the team. This holds good for NCR location.
5) Quality of work: Close to 90% of the project in TCS are "maintenance & SUPPORT". In a few projects one might get the feel of working in a call center. Before entering tcs if you think that you will be put in a "rocket science" project, you better rethink. When the HR recruits, they dont even know which project you are going to be a part of. I have seen many cases when people preferred onsite opportunity at the cost of "quality of work and technology".
6) Transfer: Dont even think of a transfer before you complete 3 years at the same location. Though this depends on point 3 above :)
7) Different appraisal standards at different locations. But it heavily depends on point 3 above.
Suggestions(for those who are willing to join):
If you get an onsite opportunity, try to elongate it as much as you can. In TCS you never know when you get the next.
Increments are just found in theories. If you are joining make sure you strike the best possible deal.
Get in touch with friends who are in the region where you are joining. This might give you an idea which project you are going to be put in. Assess it beforehand if possible.
Have a look at the bond/agreement thing.