Get a Suunto M3 Leader compass, a USGS topographic map of the area, set your compass to match the area's magnetic declination, and then go to
http://www.compassdude.com/ to learn how to use it.
Don't waist your money on button compasses or those little round compasses - unless all you want to do is go in a straight line in a general direction without using a map.
Like Chris said, without a map, all the compass does is point to north. With a map, the compass can be made to point to a particular destination AND, using triangulation, it can help you figure out where you are.
Or course, if you want to know where you are, then a GPS can do that VERY well. If using a GPS, make sure your topo map has UTM coordinates, make sure your GPS is set to the map's datum, and go to
http://www.maptools.com/ to learn how to use UTM coordinates with your map and GPS.
A great source for maps with UTM coordinates is at
http://www.mytopo.com If your GPS is the mapping variety, and you have the appropriate maps, not only can the GPS tell you where you are, but it can also tell you about potential destinations around you, and tell you distances and maybe event routes to those destinations.