Software Defined Radio (SDR) is the implementation of radio receiver, detector and transmitter systems in software, as opposed to analog hardware or application-specific ICs. It usually uses a baseband sampled representation of the RF bandpass signals.
Software-Defined Radio (SDR) takes the analog signal processing and moves it, as far as physically and economically feasible, to processing the radio signal on a computer using algorithms in software.
Software Defined Radio, by itself, not a solution to talk to any specific hardware. Nor does it provide out-of-the-box applications for specific radio communications standards (e.g., 802.11, ZigBee, LTE, etc.,); the SDR developer is in charge of writing software that implements communication given a specific standard.
SDR requires knowledge about RF signals, the mathematical description of signals in pass- and baseband, digital signal processing and of course software development.
(Text partly based on GNU Radio's introduction to SDR)