Well, there is also culture as a major aspect, and conditions.
East Africa, for example, has a strong culture of long distance running and the perfect training conditions, neither of which the US has, so any money the US puts into distance stuff will be swallowed by making up that deficit. India does badly at the Olympics partly because it spends less money, but mostly because India's primary sporting focus is cricket, which isn't even an Olympic event, and India doesn't have a culture of and doesn't care about many Olympic sports so much.