A Macro Recorder, as is obvious from the title, is a tool that records macros. A macro is a sequence of user actions (mouse moves, keystrokes, clicks etc.) which can be replayed later as a "script". The primary purpose of any macro recorder is to do the work instead of a human. It's a bot that performs all the repetitive actions for you.
Here's a list of the "must-have" features every good macro program should have: