Mapping programs for gps use come in two flavors. There are programs that support raster, also known as bitmap, maps and programs that support vector maps. Please see my article on Map display formats for more information on this topic. There are even programs that can support both types of maps.
Note that the mapping products listed in the first two sections generally all support GPS but may also be quite useful without a gps attached. In the first listing I have collected those mapping products that support autorouting on the unit and voice guidance. These are generally road and street map products but some have support for other kinds of maps as well. The second table of mapping products includes collections of mapping programs that support road, topo, marine, and in some cases aviation maps. Aviation focused products are shown below under GPS Aviation unless they support also general use maps. In some cases the second table includes products where mapping or navigation are not the main purpose of the program.