Well, as an English person now living in Australia, my response to your question is because a) it is usually poor quality, b) usually badly cooked or over cooked c) very very expensive for what it is. There are historical reasons for a lot of this, that date back to WWI and during WWII. People got used to, and indeed were encouraged to use every last little bit of food, offal etc, because of the very very severe food rations, some of which were not lifted until 1954. Plus, a lot of English food was / is imported, such as fresh fruit and vegetables, which simply don't grow in the cold English winters. That makes it so much more expensive. A lot of old people grew up at a time prior to antibiotics etc, and so they were taught to boil, boil, boil things to kill any bacteria that might be lucking in there. That means overcooked, revolting, tasteless food. And yes, it is really that bad. The best English food is fish and chips. They make it spectacularly well.
In Australia we have great fresh fruit and vegetables available all year round, and meat is less expensive than in the UK. Again, a lot of meat coming into the UK is imported from other countries, so it is more expensive.
When you grow up in England, you don't know any different, so you think the food is OK. It is only when you travel overseas that you begin to realise what the problems are.
As for Indian restaurants in Britain, they have deteriorated over the last 40 years. When they first began to appear in Britain, the food was great, same with Chinese restaurants. Now it has been altered to meet English tastes, and 2nd, 3rd generation immigrants have forgotten how to make their national cuisine properly. This is very noticable to someone like me who left Britain a long time ago.