The problem with macros is that that they are very inefficient. For example Qlikview will clear caches (as it doesnt know what you might have been doing in the macro code) - if you use an action then Qlikview does.
You may still need to drop down into macros though as what you can do with actions is rather limited. Also, all actions in a set are actioned at the same time (eg run in parallel not sequentially) so dont rely on an action above having completed.
In summary - use actions whenever possible, but sometimes you have no choice but to resort to a macro.