That is the root of the problem. Too many people in India do not have good opportunities. That is why they are trying so hard to immigrate.
With its low cost of living, if you can get a well paying job by western standards, then your dollar goes very far. I had a colleague who accepted an opportunity to manage one of our software groups in our Bengaluru office. Same salary + some additional perks. It was a sweet gig - He had a massive home and many servants. His wife only had one child but had two nannies. They had a cook, a driver, house cleaners and more. Cost of labor was so ridiculously cheap. Looking at it in person, it made me think that maybe I would accept such a position also.
But most locals there don't have that opportunity and with the rigid system there, probably never will have that level of opportunity. Hence the desire to immigrate. Go check out the PR section of this forum. Many people from India eventually have to go back to their home country for various reasons (the most common one seems to be to take care of a sick parent). They end up violating their RO and have issues coming back. And they really want to come back to Canada, looking for any way to get in without being reported. Given what you have said about India today, you'd think that they'd looked around and go "My life is better in India than Canada" and not worry about going back. But that is definitely not the case.
I have another colleague here in Toronto who used to go to India to visit relatives. He said he is done going back - too much hassle. Every other relative asks him to sponsor them, even though he repeatedly explains that he cannot legally sponsor them. Then they ask him to go start some private company and hire them as foreign workers. They live middle class lives there but are looking for any opportunity to leave.
So, like in all places, if you are in the right position, any country can look great. But if you look at the number of applicants from each country looking to immigrate to Canada, you will notice some trends. There is a reason why the numbers are what they are.