I don't use a compass, but the general idea is, you sail upwind on both tacks and check the headings on each tack. For simplicity, say the wind and weather mark are at 000, on port your heading is 045, on starboard your heading is 315.
After the start, if you're on starboard and get a lift, your number will rise. If it goes to 325, you're on a 10-degree lift. If it goes lower, you're on a header.
If you're sailing on a lake or bay, or in most coastal locations, you can use landmarks to achieve similar results (determining lifts and headers).
The main reason most of us don't use compasses is simple, we weren't trained that way. Many dinghy sailors and practically all big boat sailors use them, but those boats also lose less per tack and can gain more by tacking on smaller shifts. Also, there are all those numbers to remember. <img src="http://www.catsailor.com/forums/images/graemlins/wink.gif" alt="" />
We do have some cat sailors that do well with compasses, but they are also good enough that they would probably win without one.
Before you race with a compass, and especially GPS, check your class rules. For example, the Hobie rules allow compasses (including electronic), but not GPS.
Hope this helps.
Mike