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.