Great Britain was one of the most powerful countries in the world in 1947. Why did they give India its independence and lose a valuable colony?
Answers
It's really because of a combination of several factors, a few are
Firstly, post- 1945, The British found it no longer logistically possible to control and maintain an empire of the size of India which has an incredibly dynamic demographic. This is mainly attributed as being the repercussions of having taken a big part in WWII. In reality, WWII only hastened what would have been an inevitability within the following decade.
Secondly - India, pre-independence was not a country in the sense that we understand it today. It was a collection of a large number of princely states. The British, en route to assuming power over the entire Indian subcontinent, used to constantly pit rival princely states against each other and grant favour to those that sided with them. Gradually, the British even betrayed some of the princely states that aligned with them thereafter unintentionally 'uniting' all of India under the British rule. This can be illustrated by the widespread use of English in India. Even today, English is spoken and understood in every corner of the country. (Which is quite extraordinary in a land of over a 100 languages and dialects)