This is a quick, non-exhaustive list of SDR applications and utilities. I know these application to work with a HackRF One SDR, and have used each one at one time or another.
For receive-based goals: If you'd like to do some basic frequency spectrum scanning/listening, there are a few of really good (free) SDR apps that come with basic de-modulators build-in such as: AM, wide-band FM, narrow-band FM, single and double side-band and more listed below.
For transmit-based goals, GNU Radio is probably the best choice because you can customize your transmission needs exactly. However, there is a steep learning curve.
- SDR # - The most popular Windows-only water-fall style RF scanner. Lots of plugins available.
- SDR++ - A modules-based lightweight and fast SDR app. Very cross-platform (works on Android too).
- CubicSDR - Been around for a while, but also cross-platform and supports quickly adding multiple de-modulators at once for simultaneous listening/recording. This is my go-to for quick scanning.
- GQRX - Included in many Linux distributions and with "radioconda", just launch it from the terminal.
- HDSDR - Another windows-only option that some folks like.
- multimon-ng - A utility for everything POCSAG/FLEX (pager messages).
- dump1090 - Decode aircraft flight telemetry to track planes and and plot them on a map.
- rtl_433 - Decodes many of those small bursts of signal you might see hanging around the 433 MHz area, such as TPMS, remote sensors, weather stations, etc...
For digital signal decoding and analysis, Universal Radio Hacker (URH) is my go-to. It has the ability to record directly from SDR's and process those signals. Its bread-and-butter is not in the waterfall/recording like other apps however, it's in processing signals and turning the waves into bits and bytes, then making sense of those bytes and (optionally) generating new variants of the digital protocol being decoded.
GNU Radio is a low-level "Swiss Army Knife" of SDR, providing a highly customizable RF/signal processing framework. However it can be unruly for first-time users.
I've found the most painless way to install GNU Radio is to use "Radioconda". Radioconda is a prepackaged version of Conda, which is a package/software management system. Radioconda comes with GNU Radio and all the needed dependencies automatically. I highly recommend the anaconda method for installing and maintaining a GNU Radio installation on Windows.