The simplest answer is that these three things are needed to select one of the keyboard's voices-- sort of like an ID number that's broken up into three parts, and all three parts are needed to make a complete ID.
A longer and more detailed explanation is that MIDI uses the term "program" to mean an instrument sound-- that is, what Yamaha calls a "voice," what Casio calls a "tone," what synthesizer players call a "patch," and more or less what musicologists refer to as "timbre."
In the original "General MIDI" or "GM" specification-- now often called "General MIDI Level 1" or "GM1" to distinguish it from the later "General MIDI Level 2" or "GM2" specification-- there were only 128 different programs or instrument sounds defined. There were actually more if we include the sounds that make up the drum kit, but the GM specification doesn't consider the drum kit to be a program per se.
In any case, the 128 GM programs are organized into 16 instrument "families" or categories, and each family has 8 programs or instrument sounds:
Programs ... Family
001 - 008 = Piano
009 - 016 = Chromatic Percussion
017 - 024 = Organ
025 - 032 = Guitar
033 - 040 = Bass
041 - 048 = Strings
049 - 056 = Ensemble
057 - 064 = Brass
065 - 072 = Reed
073 - 080 = Pipe
081 - 088 = Synth Lead
089 - 096 = Synth Pad
097 - 104 = Synth Effects
105 - 112 = Ethnic
113 - 120 = Percussive
121 - 128 = Sound Effects
At one time 128 different instrument sounds seemed like a lot for an electronic keyboard to be able to make; for instance, the earliest Yamaha keyboards were limited to perhaps 8 or fewer sounds, then perhaps 16, then 100, and then 128. But as electronic keyboards continued to grow in sophistication, manufacturers like Yamaha and Roland wanted to include more than just 128 programs and 1 drum kit. They developed extensions to the General MIDI standard known as XG (Yamaha) and GS (Roland). Among other things, these extensions allowed for many more than 128 programs by creating additional "banks" containing different variations of the original GM programs.
However, instead of simply allowing for 128 different program banks, XG and GS (and later GM2) split the bank numbers up into two values, the "MSB" or "Most Significant Byte," and the "LSB" or "Least Significant Byte," each of which could have 128 possible values. The complete bank number equals 128 * MSB + LSB, where the MSB and the LSB can range in value from 0 to 127.
So you need to specify the desired bank number and program number to identify and select a particular voice on the keyboard, but the bank number is split into the MSB and the LSB, giving three parts to a voice's ID-- the MSB of its bank number, the LSB of its bank number, and its program number.