MIDI messages are made up of status and data bytes. The status byte indicates the type of message and data bytes provide additional details. Common MIDI messages include Note On/Off to play notes, Controllers to control parameters, and Program Changes to switch presets. MIDI allows connection of multiple devices in daisy chains with different channel and mode settings to route messages.