Fair enough for Central, maybe Inner London, but once you get into the surburbs, all the trains go to London, and all the buses go to the local town centre. And night buses aren't that prevalent in Outer London. Unless you work in a shop or office in your local town centre, then you will usually need a car, as most people will work in neighbouring towns, or even outside London. And when you go shopping to the out-of-town Tesco you need a car to get there, and then to carry your shopping home.
I'm not saying public transport in London isn't good, it is - but for workers, a lot of the time you need your own transport.