The idea behind it is simple: If the enemy fires at you while you are standing still, start moving. If it fires when you are moving, stop. The enemybullets will fly in front of you and behind you, but will rarely hit. There are two main flavours of this movement:

start moving when the enemy fires, but stop again before the next bullet is fired. See for example ms.Ares

start moving when the first bullet is fired, stop when the next bullet is fired, etc. See for example gh.GrubbmGrb

These are (some of) the bots using StopAndGo, each with their own tweaks (add some if you know of more):

Note that any more advanced targetingmethod will chop this movement to little pieces, therefor it is not recommended to use StopAndGo as only available movement-option. This movement should be used when starting a battle and, if not successfull, be replaced by a more generic overall movement, see also MultiMode.

It seems that StopNGo has made a comeback. It is easier to understand and smaller in codesize than WaveSurfing while giving comparable results against a big part (one-third) of the rumble. Especially the codesize restricted classes could become the playground of this revived type of movement, see Splinter and Thorn. -- GrubbmGait