A MIDI controller is anything that can transmit MIDI data via MIDI commands. It might take the form of a keyboard, a wind controller, or a guitar controller like the Roland, etc.
Some controllers come with their own built-in sound modules (like all of the Casio keyboards you've seen). Other controllers do not have their own sounds, like my Evolution keyboard. Instead, I can route it through one or several sound modules (daisy chain) such as MU-5, Proteus, Roland, etc. The sound modules produce the tones; the controller only sends the MIDI message.