What is the difference between a hardware modem and a software modem?

Hardware modems (pictured on the left below) are usually external but internal PCI card versions are available. They connect to your computer through either a serial port or USB and then also to your phone line. Everything that the modem needs to work is already contained on the hardware circuit board, which includes a controller and a datapump, and several other possible components. The controller helps with error corrections, compression and flow control while the datapump performs the basic modulation/demodulation tasks for which modems are named through a digital signal processor (DSP). All of these parts work together inside of the modem to connect to your computer to give you dial-up Internet access, send faxes, or other telephony applications.

Software modems (pictured on the right above), commonly known as WinModems or SoftModems, are substantially smaller that hardware modems as they have stripped-down hardware, lacking at least a hardware controller, and often the datapump as well. Soft modems depend on operating system, driver software, and other system hardware to perform the same tasks normally handled by the missing hardware. In certain situations, this can affect overall system performance. If a modem is labeled as "Windows only" or "a controllerless modem", then it is likely a Software Modem.