Hello Robert,
Check out:
linuxcnc.org docs gcode
Especially the overview section discusses settable parameters
Also the o-code section for how flow of control is used.
Using those above pages I made these that might help you see how they are used.
Macro for Circles
Macro for surfacing
Not that mine are the best - far from it. You will find others that have made some good stuff.
For spindle delay - that was discussed at some length in the past.
Search for “spindle delay”