Yeah, it's almost entirely down to student satisfaction. As above, this is the same with all London universities. I was at UCL and enjoyed being a student in London, but I knew lots of people who hated it - expensive accommodation, expensive nightlife, overcrowded facilities... etc.
Personally I liked it because I didn't want a kind of "campus" experience where you're surrounded by students and student activity 24/7. Being in London felt more grown up, somehow. But that was just me, and not everyone wants that from their university experience.
KCL especially has a reputation for being quite isolating and unfriendly because they're not nearly as centralised as UCL or Imperial - their buildings and accommodation are spread out across the Strand, Waterloo, Southwark and Camberwell, so really quite far apart. Lots of people complain about finding it hard to make friends, and having to spend even more money on tube and bus fares just to get to lectures or the library.
As a form of "protest" against high rents and underinvestment, the Student Unions at the main London unis generally organise a boycott of the student satisfaction survey in the third year, deliberately to return the lowest score and bring the uni's ranking down.