Location has three modules: Location, Node Locations and Locations CCK
What are the primary differences between them? Are there any advantages to using Node Locations over the Locations 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.
The Location module allows real-world geographic locations to be associated with Drupal nodes, including people, places, and other content.
Location: provides the Location API; handles address storage and geocoding. Allows users to attach locations to nodes.
User Locations: allows admins to associate locations with users.
Location CCK: provide a Location behavior as a CCK field.