Pause is a direct property per step and defines a delay time before this step is executed. While some macros will flawlessly work without a step pause set, others may show unreliable behaviour. This is due to the fact that each command and action takes a certain time to complete, and if the next step is called before the previous one is completed, undesired results may occur.
Peter Budd explains this:
The reason for the pause property is in some ways a bit of a hack. When you change something in the user interface it goes away and maybe works back through the interface to the engine. To a user they will see the result of the interface changing or a light coming on etc. Depending on precisely what you call the function on the panel may return straight away, or do some of the work then return. This could lead to your macro having slightly unpredictable behaviour.
You certainly don't do any harm by adding a very little time to each step by writing
And if you don't, and you macros appears to act unreliable then this is worth a try.