Regarding the question of "when to visit India", the best time to visit India for tourists is the winter season. The season lasts from October to February. It is a pleasure to visit India during these cooler months, when the heat of summer is no more. Around this time, the usually wet areas of Northeast also become dry, making it easier to travel there. Even the hot South India is blessed with cool weather and rain on beaches in this peak season for India.
Another reason to visit India in these months is that they coincide with the celebration mood in India. This is the time when maximum well-known festivals of India are celebrated. In October - November falls Dussehra, Durga Puja and Diwali. Also in November is the Pushkar Fair (in Rajasthan), the largest cattle fair in India. In January is the Republic Day of India and Lohri - the festival of Punjabis. In March falls Holi, the festival of colors. Then there is Id, Easter, Christmas and a number of another festivals, each celebrated in totally Indian fashion. You can experience true India, in all its richness, by attending these festivals.
The summer months of March to May are very hot and humid. If you are planning to visit India during summers, then the best thing is to go to the hills and enjoy the scenic beauty. If you are interested in trekking or mountain climbing, then, the Himalayas are for you. Months of March to May, September and November are ideal for trekking in the Himalayas.