In India, it is generally accepted that Indian Independence from the British was the culmination of the 190 year long freedom struggle; from the armed conflicts of the mid-1800s to the more peaceful protests of the early 20th century; with Mahatma Gandhi and other leaders of the Indian National Congress being the heroes of the struggle.
I recently found this article which I'm skeptical of. Here, the author posits that it was, infact, the second world war and the UN's anti-colonization mood that caused the British to leave India. I can agree with the decolonization bit but I don't buy the financial angle. Wouldn't keeping India under the crown have been more beneficial (financially) for the British?
Update: Previously, the question read -
What is the generally accepted reason as to why the British left India?
But I changed it because I'm more interested in knowing that, was the British Empire financially capable of maintaining its colonies (not only India) after the second world war? Wouldn't the profits from the colonies out weight the costs? Wasn't it the whole point of colonization?