Even though I am a Pakistani, I've been to India more times than any other country. I would like to add my view on why India has not been China. The main reason is that India's legal and legislative system is based on British legacy. A few years ago, India changed the names of a few cities to make them more Indian, BUT, I find it ridiculous that they are still known as the Republic of India. "India" is an English word and the if the Indians want to progress, they need a better sense of identity and give up the outdated British form of law. The same needs to be done in Pakistan.
1) Corruption. There is so much corruption in the lower tiers of society (police, CID..), that it makes the corruption in Pakistan seem small scale.
2) Religious bias: this does not include just the rural area, but a member of parliament was recently denied permission to buy a house in India's economic capital just because she was Muslim. It wasn't a legal matter--housing societies frequently reject Muslim applicants from purchasing houses. The same happens in other areas of life. This was the main reason why Jinnah felt Pakistan should be created--because of bias in secular affairs, not because of faith.
3) Poverty. India has one of the highest poverty rates in the region. Only the rich have benefited from the current economic boom. Even though India is so poor, they have one the highest number of billionaires.
4) Insurgencies and wars. Let's face it: If India was at peace with her neighbours, things would have been very different.
5) Democracy means a relatively weak centre: India is a huge country with diverse opinions. Everybody state has a different policy and so the federal government is much weaker than that in China.