Initially ESRI’s shapefiles were made up of three files stored in the same directory: a .shp file storing the geometries, a .shx file storing “a positional index of the feature geometry to allow seeking forwards and backwards quickly” , and a .dbf file [note 1] storing the attribute data.
One feature the original shapefile format lacked was metadata about the used map projection. Later, an optional extension [note 2] was introduced, the .prj files, storing the spatial reference data of the geometries in the .shp file. Joel Lawhead writes in his blog about this issue: “When ESRI created the shapefile format everyone worked with data in only one projection. [...] Not too long ago as hardware capability increased according to Moore’s Law, GIS software packages developed the ability to reproject geospatial layers on the fly. You could now load in layers in any projection and as long as you told the software what projections were involved the map would come together nicely.”