See my first geotagged album from Pt Reyes.
I got a Garmin Vista HCx, after reading quite a few reviews etc this seemed like a good unit for general use. I followed directions I had found somewhere on the web. I don't have a reference to where I'd gotten started, but here's a very detailed set of directions. I sync'ed the camera and GPS clocks, turned on logging, and went out for a hike. On return I got the GPS data out of the unit, and produced a .gpx file from Garmin's software. I then added GPS coordinates to my Canon .CR2 raw files using gpicsync. They key here turned out to be setting the timezone. The GPS data is in UTC, and the camera timestamps in local time. I used a timezone of -7, which corresponds to PDT. I then processed the .CR2 files and exported them as .jpg files. Picasa didn't recognize the GPS coordinates, however. Turns out Picasa is quite picky. The solution is again the the directions I've cited above: see Markus's comment on fixing the GPS exif data using exiftool. Once that's done, Picasa recognizes the coordinates. The final step is to upload the geotagged photos to Picasaweb. Before uploading, go into the Picasaweb settings, and select "Use exif location information". Then upload the photos, and you have a geotagged online photo gallery.