I have been to India 7 or 8 times in the last 10 years. There are some spectacular sights, but you will also encounter ridiculous overcrowding, appalling poverty, and a lot of rude and strange behaviour.
If you are looking to go to the North/ North West then obviously you should go to Rajasthan. I would really recommend Udaipur as a stand out place. It is less touristy than Jaipur, is very beautiful, and is a good base for seeing things like Chittorgarh.
Delhi, is a cesspit, but has a few interesting things to see, so is worth putting up with for a few days. Agra, is also a cesspit and full of scoundrels but the Tay Mahal is a must see. If you can afford it I would recommend considering taking a private car from delhi for the day, rather than staying in Agra.
In general I would recommend hiring your own driver, it makes the whole experience much more tolerable.
If you are of western appearance, be prepared to have locals staring in an extremely rude manner (i.e. beyond curious, plain weird). also people tend not to respect your personal space, i.e people will stand right behind you in a queue as if they are trying to rub themselves against you.