GM was the original General MIDI standard. 128 Capital sounds, that’s it. So no MSB/LSB CC’s, just the PC#. GM2 expanded on that by allowing CC’s to select additional voices behind the original Capital Tone on the same PC# (usually variations of that type of sound).

Try this article: https://en.wikipedia.org/wiki/General_MIDI for an overview.

XG was Yamaha’s answer to GS, Roland’s next gen standard, and so on and so forth. Each standard advanced the idea of compatibility to play a sequence on something other than the synth it was created on (which was the case up until GM) and still have basically the right sounds on each part.

Before GM, you would get horrendous results playing a Korg SMF into a Roland or a Yamaha into a Korg. Nothing was standardized, not PC#’s, not drumkits mapping, not which CC’s controlled effects etc.. Ahhh… the good old days! 😱😂
_________________________
An arranger is just a tool. What matters is what you build with it..!