<rant>
Of the nine answers to this question I read before writing my own, I only agree with Pranjal Singh. Some of the others were downright insufferable, and neither are they written by people who have a balanced view about IIT, nor do they answer the question.
</rant>
IIT is the best place to be if you want to study engineering in India, and are really passionate about something. Coding, mathematics, robotics, rocketry, astronomy, particle physics, athletics, cricket, football, playing the drums, you name it, and there will be an established culture in the institute, and people willing to help you learn at every turn.
No one has mentioned research facilities. IIT Bombay, where I study, has some of the most advanced facilities in India in almost all fields. From electron microscopes to aircraft engines, we have it all. If you are enthusiastic about the right thing, you can easily contribute to research here by approaching a professor and convincing him/her that you are willing to work with him/her.
There is an unwritten rule here. Whatever you’re good at, there’s always someone better at it than you, be it <insert above list of activities> . Approach them with the right attitude and there is a tremendous amount you can learn during your stint here. You can make yourself better today than you were yesterday, and you can do that every single day, even if only incrementally, and it builds up over time.