Breeze Downloader Pro
creates XMP sidecars for RAW and embeds the GPS data in the EXIF of JPEGs. If you have GPS metadata available in Photoshop or Lightroom, it gets embedded in any JPEGs you create.
For GPS hardware, I'm using what I already had and use for other things - a Pocket PC, a SiRFstar III based Bluetooth GPS and GpsGate
- set to log GGA and RMC to a file every ten seconds. If you turn off the Pocket PC's backlight, the combination will happily run for six hours off its batteries, though my Pocket PC (a now discontinued model) is pretty frugal with battery life.
You can do some very neat things with GpsGate, especially if you have data connectivity on your Pocket PC such as a built in phone. You can, for example, allow users of the Windows version of GpsGate able to track your position live in Google Earth.
I set GpsGate up with two instances. The default instance opens the Bluetooth port when anything connects to either of its virtual ports - one passes through the GPS input unmodified, the other is filtered to pass GGA and RMC once every ten seconds. The logging instance I enable when I want to log - it connects to the latter of the two virtual ports in the default instance and logs it to a file with a name based on the date and start time. I can give more details of how to set up GpsGate, but I suspect most here aren't interested.
The crucial thing is that I finish up with a file containing NMEA sentences, which Breeze Downloader Pro can parse (it can also parse other formats). All I have to do is to put the memory card from my Pocket PC in a card reader, and configure Breeze Downloader Pro to look in the relevant folder on the memory card for GPS data. It handles the rest.
If you're buying a GPS specifically for photographic use, I'd consider either a "datalogging GPS" like the small Sony device sold for camera use, which records positioning data every so often (I think it's every 15 seconds on the Sony) to internal memory for later readout, or a Garmin with a built in magnetic compass so that you can record the direction you were pointing the compass as well as the GPS position. It's a question of bulk, and whether or not the extra features of the Garmin are worth it to you.