Definitely clearer... Thanks... So, is that to say that any MIDI-standard-abiding syth out there will have these default instruments in a default bank? And that what makes synths different are the additional banks of their own instruments?
There are different levels of MIDI standards, plus different extensions of MIDI.
To conform to the General MIDI (GM) standard-- a.k.a. General MIDI Level 1 (GM1)-- a keyboard must have at least 24-note polyphony (16-note polyphony for the melodic voices plus 8-note polyphony for the drums), must have the 128 standard GM instruments (although the exact sounds aren't specified-- e.g., Program 1 must be "[Acoustic] Grand Piano" but its precise sound isn't specified), must have the standard GM drum kit, must recognize and handle the 16 standard channels-- with Channel 10 being used for the drum kit-- and must recognize and handle the standard messages defined by the GM specs (which includes the definitions of the notes-- e.g., note 60 is Middle C, and note 69 is A above Middle C, with a frequency of 440 Hz).
To conform to the General MIDI Level 2 (GM2) standard, a keyboard must have at least 32-note polyphony (16-note polyphony for the melodic voices plus 16-note polyphony for the drums), must have the 256 standard GM2 instruments, must have the 9 standard GM2 drum kits, must recognize and handle the 16 standard channels-- with Channel 10 and Channel 11 being used for drum kits-- and must recognize and handle the standard messages defined by the GM2 specs.
There's also a "GM Lite" standard with reduced requirements, for mobile phones or other devices that have more limited processing power-- but we can ignore it, since we're interested in keyboards, not cell phones!
Then there are the extensions of MIDI-- Roland's GS standard, plus Yamaha's XG standards (which comes in different flavors, such as XG Level 1, XG Level 2, XG Level 3, and XGlite).
In order for a keyboard to be advertised/identified as "GM compatible," it must at least conform to the GM standard, but it may certainly go beyond that. Likewise, in order to be called "GM2 compatible," or "GS compatible," or "XG compatible," or "XGlite compatible," a keyboard must at least conform to the minimum requirements for those standards, but may also go beyond those requirements.
As far as the "patches" are concerned, the 128 GM-compatible patches must be under Bank Select MSB 0 and Bank Select LSB 0. Likewise, the 256 GM2-compatible patches must be under specific Bank Select and Program Change numbers. The GS and XG standards also use specific Band Select and Program Change numbers-- e.g., a Yamaha XGlite-compatible keyboard might not have all of the standard XG voices, but the XG voices that it does have will have specific Band Select and Program Change numbers.
However, a keyboard that doesn't call itself "GM compatible" doesn't need to use the Program Change numbers specified by the GM standard-- e.g., the Roland Lucina AX-09 synthesizer does have a "Grand Piano" patch, but instead of being selected with MSB 0, LSB 0, PC 1 (as in the GM standard), it's selected with MSB 87, LSB 0, PC 25! So the Lucina AX-09 may still be a "MIDI compatible" synth, but it isn't a "GM compatible" synth.
Edit: PS: A word of warning regarding Program Change and Channel numbers-- the actual numeric values which are used within the MIDI data/code/messages/events are numbered from 0 on up, whereas keyboard documents (e.g., owner's manuals) and MIDI software (e.g., DAWs) frequently number them from 1 on up. This can be extremely confusing if you aren't paying attention to which numbering scheme a particular document or software program is using. For example, suppose your keyboard's owner's manual says that the "Dulcimer" patch is selected by MSB 0, LSB 0, PC 16. You want to edit a MIDI song file so it plays with the "Dulcimer" voice on your keyboard, so you load the MIDI file into your DAW and change it to use MSB 0, LSB 0, PC 16-- except instead of the song playing with the "Dulcimer" voice, you get the "Drawbar Organ" voice instead! That's because your keyboard's owner's manual used Program Change numbers of 1 through 128, whereas the DAW must have used Program Change numbers of 0 through 127. I like to use the abbreviations "PC0" and "PC1" to indicate which numbering system is being used-- i.e., "PC0" means the PC numbers go from 0 to 127, whereas "PC1" means the PC numbers go from 1 to 128. You can easily convert from one to the other by adding or subtracting 1 as appropriate-- PC0 = PC1 - 1, and PC1 = PC0 + 1. For example, if your manual uses the PC1 scheme but your DAW uses the PC0 scheme, you'll need to use MSB 0, LSB 0, PC 15 (not 16) to select the "Dulcimer" voice in the MIDI file.
Likewise, the MIDI Channel numbers are numbered from 0 through 15 within the actual MIDI code, but these are frequently referred to as Channel 1 through Channel 16.