There are many reasons for it. Two-thirds of India lives in rural areas and there are no sports facilities there. Even in urban India facilities are not available except for those who are willing to spend money. India's population density is one of the highest in the world and cities are bursting at the seams. In urban India, open grounds are not common and the few that exist are over-crowed and there isn't much that can be done there. Even the Africans don't have much facilities, but they are naturally athletic and thus at least excel in track events which don't require any "facilities" for practice. Indians are not naturally athletic. Most Indians have no interest in any other sport except cricket.