I use KeyCue - it's not free, but I've found it useful. Basically, you hold the cmd key down for a second or so (key and delay are configurable) and it brings up a cheatsheet with available shortcuts in a) the running program, b) OSX shortcuts c) Keyboard Macros.
Does a few other things as well. It's not essential, but it's useful if you're a heavy keyboard user, with I am (hate using the mouse if I don't have to.)