It is simply a lack of economic growth. China has had high economic growth rates, usually over 8% a year, since 1979, when it liberalized its economy.
India liberalized its economy in 1992 during a crisis of payments. Since then it has had modest growth rates, around 6%. Many reforms are heavily constrained by its democratic government.
I would say culture plays a bigger role, we have excess food grains rotting in government warehouses yet lot of Indians die due to starvation. We simply do not care about our fellow Indians.
This isn't an issue of who cares for who. I don't think any country is going to vary that much in who cares for others. China is the place where a 2 year old girl was run over and no one stopped to help.
India liberalized its economy in 1992 during a crisis of payments. Since then it has had modest growth rates, around 6%. Many reforms are heavily constrained by its democratic government.