There are 2 different ways of resetting the firmware, but they each do different things.
To answer your questions… 1.) No, there is no procedure that is officially posted publicly. Support can give you their procedure, but it has been users who have shared it. 2.) The pros/cons are the same as re-installing software on a computer: it erases memory and resets everything back to defaults, while any custom changes are lost. 3 & 4.) It just resets the firmware to whichever one is currently installed, it does not revert it back to previous versions. Any fixes that came with the current firmware remain in place, and the only changes are the removal of any custom settings.
The two ways of doing this are…
Via Touchscreen (resets firmware on all modules).
Via G-Code command (resets firmware only for the Controller module).
Happy to provide more details if you would like them.