What is the difference between M420 S and M420 S1?
TL;DR
Short answer: &quot;There is no difference!&quot;.

Long answer
G-code is parsed line by line. The parser in the firmware reads the command and the options (also called parameters) following it, comments are discarded.
Therefore, option S should be followed by a Boolean value 0 for False or 1 for True. Without a value it is undefined and should be reported as incorrect or treated as false (in my opinion). But, the developers have chosen differently. If a Boolean value is expected and the value is not given, the parameter is parsed as true. This has analogy with other software options or switches like e.g. used by Linux commands.
This means that for Marlin  the G-code M420 S is exactly the same as M420 S1.
I've checked this with another command (this is not depending on the G-code command as there is a single parser processiong the G-codes and the following parameters); M211 where M211 S is exactly the same as M211 S1.