Macros are small little programs which executes a various amount of commands. These commands can come from devices, plugins or even other macro's.
The make it easy to create and execute a large list of commands which you would otherwise use within automation rules.
Unlike scenes, macro's are an one shot action. This means that commands are executed once and devices or other selected items are not kept in the selected state.