People who slag off London don't spend long enough time there to understand the charm of it - they don't understand it. Or they lived here and prefer it rural, or they lived here and burnt out/had enough.
Central London is fascinating, it's where all the old stuff to look at is - walk around the (empty) city at the weekend and see bits of Roman Britain, secret gardens, tiny atmospheric passages. I travel through this area most days and have short walks around on my way to work. If you're a tourist this is a really tiring day out - it's busy, people try to cram too much in. I know, because I do that when I visit other cities. But that's not the same experience as actually living here.
This is then surrounded by a series of villages - each small area, mostly not even a third of a mile from the next village is where people live. This is the part my MIL didn't get - she thought it was all one long dodgy street - in her mind it was like the Old Kent road or Tottenham Court Road - major thoroughfares.
So in my village (30 seconds away) are a church, butchers, greengrocers, a children's book shop, laundrette, post office, iron mongers, library, a small supermarket (M and S food), a chippie/Indian and Chinese restaurant. Now apart from the last few it sounds like the 1950's 
Until you actually live here it just doesn't resonate. Before I lived here when I was property hunting I was all about 'how long to get to the centre' (14 minutes) - it was only when I looked at flats I noticed the useful shops/pubs off the main roads, usually clustered around train stations or close by to them.
Everything you need is in these villages, play groups, primary schools, cafes.
On a very basic, day to day LIVING level London is just like everywhere I've ever lived (I've lived literally every part of the country) - it just doesn't look like that from the outside.