As someone who grew up in India and then went abroad, the answer is pretty simple - poor urban infrastructure. One of the biggest failures of the Indian government was its failure to urbanize in the 1980s.
With the bulk of their labour force stuck in subsistence farming and a relative scarcity of natural resources, the success or failure of their development efforts would be defined by their urbanisation process. In 1980, India was further ahead than China with an urbanisation ratio of 25 percent compared with the latter’s 20 percent. Today, China has more than doubled its ratio to 53 percent, while India’s has edged up only slightly to 32 percent — and even at that level is marked by more pervasive pockets of slums.
The reason is pretty simple. During that period, China had leaders like Deng Xiaoping who opened up the economy and instituted stable economic policies whereas India was grappling with political turmoil with the assassinations of Indira Gandhi and Rajiv Gandhi. It was also partly deliberate. The ruling Congress party, to which both the Gandhis belonged to, had Marxist leanings and did not necessarily care about the grievances of the educated middle class. A former Indian ambassador to the US once infamously remarked "brain drain is better than brain in the drain". With such obvious contempt for the middle class, newly minted professionals and prospective graduate students sought haven in greener Western pastures.
After the economic reforms of 1991, things (slowly) started to change. In the first decade of the new millenium, growth quickened and an "urban renewal mission" was announced which was a small step to improve crumbling infrastructure. Modi's "smart city" policy goes a step further but it is too early to judge how successful it will be. Land acquisition is cumbersome and efforts to deregulate it have failed.
The English language is another major factor driving immigration. Fluency in the English language allows educated people to assimilate in foreign countries reasonably quickly, even in countries where English is not the first language.
Booming oil prices were responsible for a different wave of Indian immigration - to the Middle East. Places like Dubai and Qatar went on a construction spree, building thundering tall skyscrapers which required cheap labour, and which attracted low-skilled immigrants from the subcontinent. The Kafala system, which brings in millions of migrant workers to the Middle East has been criticized by various human rights groups for coercion, exploitation, and poor living and working conditions although it continues to remain popular among construction workers.
Some commenters have mentioned issues like class divisions, gender inequality, corruption etc. I feel these issues are generic and affect a number of countries; some of them rich, industrial countries, however, they play a minor role in driving migration. The primary causes of immigration are better economic prospects and improved living standards.