Because You need to understand how PreMacro, PostMacro, KeyPress and KeyRelease actually work.
Now as for PreMacro and PostMacro these are actual steps executed before the macro and after it. PostMacro also wont fire unless there is a Looplimit set. If there is no looplimit set you also wont every go back to the PreMacro.
For example im using the logic of Sequential. Priority will wokr in the middle here but with its quirks. This replaces the inner loop stuff from GSE1 and is to make it more accessible.
EG PreMacro
- Line 1
Sequence - Line 2
- Line 3
PostMacro
-Line 4
loopLimit 2
Will execute (one line per keypress)
KeyPress + Line 1 + KeyRelease
KeyPress + Line 2 + KeyRelease
KeyPress + Line 3 + KeyRelease
KeyPress + Line 2 + KeyRelease
KeyPress + Line 3 + KeyRelease
KeyPress + Line 4 + KeyRelease
then repeat to PreMacro.
Without a looplimit it will execute as:
KeyPress + Line 1 + KeyRelease
KeyPress + Line 2 + KeyRelease
KeyPress + Line 3 + KeyRelease
the return to line 2 until combat finishes.
Pre and PostMacro are all about extra tools to control sequence execution.
Perfect rotations can be achieved BUT it takes time and dedication iteratively tuning and tweaking a macro to achieve this. The other thing is that it’s not a copy and paste exercise. There is an 50/50 rule here. Copy and pasting someone else’s macro will give you approximately 50% of the macros potential but you need to tweak the macro to your character to get the other 50%. This consists of tuning your MS. Running the macro and adjusting the spells, filler abilities and pauses so that things go off at the right time. Understanding WoWs macro limits and how to get as close to them as possible.
All the things you are asking @gamers are things that you need to sort out with a macro for YOUR character and any macro.
Short Answer: Why doesn’t something go off at the right time? It’s in the wrong place in your macro - move it until it’s in the right place.