India is a country of very great diversity (language, religion, caste, you name it). Yet on the whole, India is peaceful and united. That's because India largely has a decentralised form of representative democracy with central, state and local governments elected by the people. When people can see that their participation makes a difference to their own lives and that they really control their own destiny, they gain a sense of belonging.
Note the exceptions that reinforce this conclusion - Kashmir, the Northeast, and many parts of rural India where feudalism still rules. Here, we find militancy/terrorism/insurgency and almost continuous violence. The official response? "Send in the troops to restore law and order. The situation isn't conducive to holding elections."
This is a Catch-22. You have armed opposition to the state because you have no democracy. Elections in Kashmir have been rigged or cancelled so many times it is farcical. And now you can't hold elections because there's too much violence?
I believe you cannot have peace and progress without social justice. Democracy is only one manifestation of social justice. If you have landless bonded labourers hopelessly in debt to the moneylender-landowner combine, then merely holding elections once in 5 years will serve no purpose.
As Sanjiva says about correcting the skewed allocation of resources in Sri Lanka, so too must all developing countries address the very real disparities and social inequities that give rise to militancy.
Waiting until law and order have been restored in order to implement social justice is a pipe-dream.