The reason? Apparently, they didn't really understand what the World Cup was, so they decided not to attend. The official reason given by the All India Football Federation was that there was insufficient practice time and disagreements over team selection.
Indian Football Team captain Sailen Manna had this to say, "We had no idea about the World Cup then. Had we been better informed, we would have taken the initiative ourselves. For us, the Olympics was everything. There was nothing bigger."
In fact, the Indian team had already competed in the Olympics in 1948.
The story that they didn't play because FIFA didn't let them play barefoot is a myth. They competed in the 1952 Olympics while barefoot.