This is one issue really close to my heart. Numerous times I have faced this question - why I don't speak Hindi in spite of being an Indian and Hindi being the "National language" of India. Let me make one thing very clear - Hindi is just the "Official language" of India - which is by no means equivalent to being a "National language". You can have a "National language" when most people in the nation speak that language. Like Canada has English and French - and almost everyone speaks either of these two. But in India - less than a third speaks Hindi as their native language - and as I gather from some random website coming out in my google search "India's schools teach 58 different languages. The nation has newspapers in 87 languages, radio programmes in 71, and films in 15" ( I dont claim any responsibility for the accuracy of these figures - but that gives the idea) - surely there cant be any one language for all the people. And there is not any natural reason for Hindi to get an elevated status - just because most of the prime ministers happened to be Hindi speaking is not a good enough reason for me.
People argue that we need one languor to get the feeling of unity. That's the ideal scenario may be. But unfortunately we are diverse bunch of people - one cant just forcefully unify them. And I have a right to speak my language as much as guy speaking Hindi is. And when he wont speak Bangla talking with me, why would I try speaking Hindi? I really applaud Southern states in this regard - they refuse to communicate in Hindi. I really do not understand why Bengali's, even when they are in Kolkata - try to speakin a pathetic Hindi to outsiders. Why would they do that? Do they think when they are in Allahabad anyone is going to help them out in Bengali? When I'm in a Hindi speaking region I have to try to communicate in Hindi (which is fair), then the people coming to Kolkata have to learn Bengali. Period.
English is a different issue altogether. Whether we like it or not - we were ruled by the British and our education system still in a lot of sense reflects the British influence. So the educated people across the length and the breadth of the country can communicate in English - and the best part is that's almost nobodies native language - so gives no community a sense of alienation. And I like it that way.
I have nothing against Hindi or people speaking the language personally. And I'm sure it is a rich language. But so are Bengali, Tamil, Telugu, Marathi and a host of other languages. And since I cant learn them all - I see no reason to give Hindi a special preference. Its the language of a just a group of people. Nothing more, nothing less.