(I haven't migrated to the US, but I am working outside India.)
What drives someone in India to come to the US, rather than improving their situation at home?
Money. Indian salaries are still very low as compared to US salaries, especially in Silicon Valley. Improving your situation at home means that you do the same job for a third of the money (at best), or less (usually about a 5th to a 10th).
Keep in mind that the wage gap in India is huge, unlike the US. This means that someone with 15 to 20 years of experience will have a roughly comparable salary, but for a fresher, the salary gap is 10x or more. (Rule of thumb, a job change gets you a 30% salary increase, you change jobs every two or three years. Not true for everyone, but often the case).
A few years ago, it was possible to move to the US for three years, live cheap, return to India and buy an apartment cash down. That's not possible now, it takes 6 years. If you are living in India, you might save up enough for the down-payment in 15 or 20 years, if you give up on most fun parts of life.