I think it can be argued Prague has significantly less to see in terms of outright attractions than London, and Vienna's zoo is part of the palace gardens as well as claiming to be Europe's best zoo and, accurately, the oldest in the world. I've had acquaintances with no interest in zoos whatsoever that made Schonbrunn top of their visit list while in Vienna based purely on the historical aspect of it. London Zoo also has similar history (admittedly a century or so younger in most places, and often not quite as pretty as Viennese architecture) but I don't think it does well enough to push it.
One thing I have come to somewhat loathe about London in recent decades is what I can only describe as favouritism in the eyes of the authorities toward certain attractions. The Zoo really isn't advertised anywhere, whereas everywhere you go there's posters, billboards and bus adverts for the Tower, the museums and bloody Madame Tussauds - all paid for at least in part by the local government. There's a definite artificial list of accepted tourist destinations that consists of everything remotely tangential to the Monarch, the Eye, Parliament and for whatever reason a load of wax. I don't think advertising is the main reason London lags behind the other zoos mentioned but it's certainly undeniable it has an impact - even the IWM has struggled in recent years due to it being eclipsed, and that's a 10 minute walk from Waterloo.
I may just be reading into it what I want to see, but from my time in Berlin, Prague and Vienna (and even Leipzig) there's publicity for the zoos everywhere, and between that and the lower entry cost for all of them they make quite tantalising spots for tourists with a day to spare and no idea what to do.