Most of this was posted by @theRatchet and I’m putting it as part of the wiki (and reformatting it some)
Pause Button
Once pressed, finishes the line of gcode that the machine is currently on, then pauses and makes no change to the z-axis or any other axis. If you are cutting an arc or near the end of a the current line; the machine will pause pretty quickly, but If you just started a long straight cut, it will take until it gets to the end before it stops.
Goto Button
This just goes to whatever line of gcode in the file that you entered and starts to execute. If the line that moved the z-axis either in or out of the cut is above or below the line number you entered; the z-axis will not move, but the x and y will based on what line you are on. I generally on use the goto button to go to a z-axis move in the .nc file. If I want to stop in the middle of one operation, like a pocket and move to another, then I normally press Pause, use the z-axis control to raise above the work surface and then GoTo the line before my z-axis move into the operation I want to go to.
Stop Button
Sends an immediate command to the controller to stop, even if its in the middle of a cut. I think when this happens, all bets are off on restarting the cut because it could (likely) have happened mid-operation. I believe you have to press the stop button a second time to get the machine out of it’s stopped state (someone please verify this is accurate)