How does OB work under the hood to control sound parameters?

How does it work ?
Is it just sending MIDI messages to the machine ? If so, any benefit of using OB to control/get the sound parameters ?
Where can i get the complete list of MIDI messages ? I guess in TFM ? (i don’t own any OB-enabled machine, yet).