SHP is several files, limits field names to 10 characters and is not web-friendly. CSV is plain text that every spreadsheet, database and script can read. SHP is at home in exchanging vector map layers between GIS programs; CSV is the usual choice for moving tabular data between systems.
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. Each point, and each vertex of a line, becomes one row with name, lat and lon columns, plus elevation and time when the data has them. Areas cannot be written as rows, so a file with polygons is refused. Text that starts with =, +, - or @ is escaped so a spreadsheet does not run it as a formula. Coordinates outside the latitude and longitude range are refused, since the file is probably in a projected coordinate system.