A hardware modem is a "Controller-based" modem, and it does all of the work. This type of modem provides the best power and performance, and it does not utilize the PC's processing power. All three components (MCU, DPU, and DAA) are in the modem itself. It can work with many operating systems, and functionality may be upgradeable through ROM uploads.
Controllerless modems (or Winmodems™), as the name implies, do not have an onboard Microcontroller. As a result, data compression and the generation of AT commands are performed by the PC. Since most PCs sold today run the Windows operating system, the microcontroller program is usually written specifically for Windows, hence the name "Winmodem." They are useful in laptops, as they tend to use less power. Winmodems are usually software upgradeable.
Softmodems are, quite simply, Software Modems. All processing is done by the PC, and the "modem" is little more than an interface to plug in the phone jack. These modems require the PC to do all of the work, and they will only run in the Windows Operating System. Many PC makers put Softmodems in the PCs that they sell to consumers, as they are extremely inexpensive. They are upgradeable.