The main difference between procedures and macros is that a procedure may contain logical statements which determine the flow and execution of the commands, while a macro has less logic capability.