Recording software that allows you to customize overlays, which audio input(s)/outputs you record, has many encoding options and records HD with no slowdown/FPS drop even on an older dual core processor.
However, to me the best feature is the 10 second recording buffer; you can set it to constantly record and only when you hit the hotkey you setup does it dump the last 10 seconds (edit: this is configurable so it can be up to 5 minutes) of video into a file. So, you don't have to maintain massive files and cut them down to the funny parts, just hit the record key after something neat happens and blam there you go you got the last 10 seconds of video saved.
It is easy to use, intuitive, and once you setup the options how you like them you don't have to fuss with it just load it up before you play a game that you'd want to record and you're all set.
Note: this can work just as well for non-games and recording your desktop/all windows for instructional/tutorial purposes
edit: updated wording about audio inputs and recording them