For very complex shapes, GeoJSON becomes almost unusable because the representation is so unnecessarily explicit. Expressing GeoJSON data in TopoJSON can express these complex shapes in a fraction of the size!
Beyond the initial size reduction, TopoJSON also lends itself much better to simplification methods.
For example, all of the world's timezones in GeoJSON is some 120MB! Converting to TopoJSON and applying some simplification methods, this can be reduced to some 30MB easily.
This also facilitates must quicker computations, in a performance critical live environment. (Like locating users within a timezone).