Performance, macros are executed at compile time. Also, sometime the macro is easier to write that the equivalent non-macro code.