Conventionally, a radio receiver is a pipeline of electronic components that decode a radio signal into some form you expect: audio, video, digital data, radar returns, whatever. This set of components is typically not "agile": it can decode only a limited set of signal types from some limited set of frequencies, so you need different receiver hardware for different type of radio signals.
Ideally, a software defined receiver replaces all of that with some high speed programmable component that can decode all types of signals across all frequencies, simultaneously. The ideal software defined receiver connects an antenna to a pin on a processor and software does everything digitally: demodulation, filtering, etc.
Physics and the limits of our semiconductor technology doesn't actually permit this ideal to exist. We can, however, achieve some degree of it, and improving components have expanded capabilities and made it cost effective.