Let me see if I can answer this question well.
I would say the life of a fresher is pretty good for a year but after that, it becomes difficult as your experience shoots up. Now it totally depends on your aspirations. Some people prefer the job security and TATA brand and some prefer the path of growth and earning money. If you are happy with average salaries and average workload then TCS is good for you. But if you are someone who wants to earn lots of money and be a part of a team which builds life-changing products then you should be moving on. I will tell you a story about a guy who worked in TCS, I personally know him. So listen carefully.
He joined TCS in the month of September 2012, his batch strength was 308. Annual CTC offered was 3.16 LPA. On the first day induction happened and the next day they conducted a test, the catch was, top 10% scorers in that test will be able to choose the technology of their choice. The choices were, Unix & C/C++, Java, C#.NET. He was one of the top scorers and got to choose his stream as C/C++/Unix. When the ILP started it was all fun-filled gathering. The classes started at 7:00 am in the morning and went till 2:00 pm. After returning from office, he used to study for 5 hours daily as he was from Electronics background. He studied all major papers of Computer Engg. like Operating Systems, Data Structures, Software Engineering etc. on his own. When he started picking up and performing in the classes, the faculties in TCS asked him to take the classes. He was awarded TCS Kudos at the end of the ILP.
Now, when the training ended, that guy was filled with motivation and zeal. He continued his studies and started learning computers in depth down to the OS level code. Even after getting trained in C/C++ he was not able to get any projects in that technology, that was pretty disappointing. He stayed in bench for 2 months but still no help. Some projects came to him (RMG called) but they were software testing projects and he aspired to be a developer. Despite all the pressure to take the testing projects, he didn’t budge and waited it out. One day randomly he was assigned to an Android development project. Now, people who know android know that you need to know JAVA before you can dive into Android Development. So he learned JAVA basics and started with Android, happily did a couple of projects and when the project came to the closure, he was again on the bench. The second project was a difficult cake as he was not getting it on Android, and frequently switching technologies was something which was bad if you want to become an expert. The next project was a call center kind of project. He was not willing to work in that but still, he had to work there. Managers were not at all supporting. Everything was going out of control as you cannot build a dev career by responding to emails and filling excel sheets for clients. He managed to automate some of the work and people were surprised there ;). It was not a rocket science but still.
After around 2 years he had a CTC of 3.9 ( 1 Good and 1 Bad band) which gave a take-home salary of 25k approx. With some hard work and God's grace, he switched to the product based company and worked there for 2 years and again moved to a much better organization which suited his goals and aspirations.
So his experience was filled with dark times and happy times. Happy when he joined, and dark when he saw long-term growth technically and monetarily. Many of his friends have completed 6 years in TCS and are happy with what they offer. So it’s about what you aspire and what you can do to achieve what you aspire. If you do not aspire much and are satisfied with what you get and If you aspire but cannot work hard then you can stay there without worries it is a good company.
Don’t fear failure. Fear being in the exact same place next year as you are today.