What causes large shapefile file size and can you effectively reduce it?

Note that 'level of detail' is a relative term. They may show the same information, ie counties, but level of detail also applies to the lines that make up the boundaries. One might use a hundred points to outline a county, and the other might use a couple thousand. Simplify/Generalize are what you use on the larger to bring them more in line, but depending on settings might not have that much impact - or might over do it. Or it could be a bloated/corrupted file that needs repair.

radouxju notes there are typically two component files of a shapefile that are largest - the .shp or geometry information, and the .dbf or attribute information. Depending on which one is the source of apparent bloat will dictate possible solutions.

Mapperz suggested http://www.mapshaper.org/ which is a site you can upload your file to for repair and simplification. Note that site doesn't appear to offer an option to not simplify, so it will be modifying data. For a straight repair you would need something like Repair Geometry in ArcGIS or GRASS' v.clean through QGIS. A repair may not reduce the file size any, but it also won't alter the data. I'm unsure whether Mapshaper can preserve topology and not introduce slivers in adjacent polygon boundaries during simplification, though if they're coincident before I would expect the same modifications would probably be made to both lines.

RobinC further clarified that "Mapshaper only gives you the .shp file, and after reducing this one, you just have to rename the old .dbf file, so that your geometry will be simplified and your attributes kept as they were."

user30184 took a look at the original files you provided and noted that the larger one did indeed have significantly more vertices than the smaller one (2.25 million vs 68 thousand in round numbers), which readily explains the size difference in the .shp file.