SHP is several files, limits field names to 10 characters and is not web-friendly. TopoJSON is much smaller than GeoJSON for adjacent regions. SHP is at home in exchanging vector map layers between GIS programs; 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. A zipped shapefile (the .shp with its .dbf and .shx) or a bare .shp is read. If a .prj file names the coordinate system, coordinates are converted to latitude and longitude; a coordinate system that cannot be read is refused. Coordinates are kept exactly (no quantisation) and shared borders are stored once; features without a shape are left out. Coordinates outside the latitude and longitude range are refused, since the file is probably in a projected coordinate system.