1. India has a lot of beautiful and varied landscapes. There are mountains, lakes, forests , beautiful beaches , backwaters. I cannot do justice to the amazing places I have seen.
2. Almost everyone speaks English. In some places, to make the tourists feel more comfortable people have learned Hebrew, French and German.
3. Things are indeed cheap.
More controversially, I have also been told by travelers that the other reason India remains so popular is that drugs are incredibly easy to score, especially in some tourist spots.
The other thing is that a lot of tourists do not keep travelling among hordes of poor people. If they go to Goa, they hit the beaches directly where they meet other tourists and other people trying to sell exotic crap. If they go to the mountains they live surrounded by other tourists.