Source: Wikipedia: DJ controllers are devices used to help DJs mix music with DJ software using knobs, encoders, jog wheels, faders, backlit buttons, touch strips, and other components. They are used to provide easier control of the software than the computer keyboard and touchpad on a laptop, or the touchscreen on tablet computers and smartphones. DJ controllers do not mix audio signals like DJ mixers; rather, they send signals to a computer to tell the DJ software running on the computer how to mix audio. Many DJ controllers also have a built in sound card with 4 output channels (2 stereo pairs), which allows the DJ to preview music in headphones before playing it on the main output. Most DJ controllers use the standard MIDI or HID protocols to communicate with the computer via USB.
Most DJ controllers emulate two turntables/CDJs and a DJ mixer. However, DJ controllers are much cheaper than two turntables or CDJs plus a mixer. Unlike turntables, controllers can take advantage of the flexibility of computer software, for example, by allowing the DJ to store multiple cue points with music files. Also, DJ software allows users to remap the components of controllers to perform different functions than the controller manufacturer intended.
Some DJ controllers break from the conventional two jog wheels and a mixer layout and are designed to be easily mapped however the user wants. Some controllers are designed to be used either for live PA performances with software such as Ableton Live or with DJ software. A few DJ controllers, most notably the Novation Dicers, are designed to be used with timecode vinyl.
DJ controllers are usually designed to work with only one or a few DJ software programs endorsed by the manufacturer. Most controllers use the standard MIDI or HID protocols, so other software can usually be made to work with them. However, it may take considerable effort to get a controller to work with software it was not designed for, and some controls may not make sense with other software.