KML is XML tied to Google Earth's way of styling, and not all GIS tools read every feature. TopoJSON is much smaller than GeoJSON for adjacent regions. KML is at home in places, routes and tours viewed in Google Earth; TopoJSON is the usual choice for compact boundary maps for the web.
Every format is read into plain GeoJSON features and written out from there, so coordinates, names and properties carry over wherever the target has a place for them. XML that declares custom entities is refused, and KML files are parsed without touching the network. Coordinates are kept exactly (no quantisation) and shared borders are stored once; features without a shape are left out.