Differences between Location and Location CCK?
Location: provides the Location API; handles address storage and geocoding. Essentially the base of the location module to which the other modules rely upon. 

Location CCK: provide a Location behavior as a CCK field. This module uses the field API properly rather than its legacy node location module which implemented its own fields and storage. 

If you are evaluating which one to use, I would recommend the cck one. The others are being deprecated soon. 

Via the project page:


  Location 7.x-4.x is planned to be a stripped out version of location
  7.x-3.x, which has no node location, user location, location taxonomy (at least in its curren form), location add another sub-modules. It
  will only have location field, which will essentially be the current
  location cck module.