A MIDI controller is any device that sends out MIDI data to control another MIDI device or program. Some MIDI controllers are also capable of recieving MIDI data. Two examples of a MIDI controller would be a MIDI keyboard which can be used to control softsynths/external hardware synths or a MIDI DAW controller used to control fader/pan levels in your DAW as well as other things such as plugin parameters.
The Akai MPK Mini is a compact, two octave MIDI keyboard that includes 8 drum pads and 8 controller knobs
The Behringer BCF2000 is a MIDI controller that is designed specifically to control faders, panners, etc, in your DAW
The Behringer FCB1010 MIDI foot controller is specifically designed for controlling amp modelers, such as Guitarix