These things are only called winmodems because windows has the most market share. They might otherwise be called linmodems (or even mOdemS/2). It's not an evil Microsoft conspiracy. It's not in Microsoft's interest to release bargain-basement crap. Have a look at the sidewinder range of joysticks, or the Xbox for an example of hardware Microsoft actually manufatures.

Winmodems come in two varieties, Controllerless modems, which are lacking a UART and general control gear, but have an on-board DSP to produce modem noises, and Software modems, which are a sound-card with an RJ11.

Controllerless modems

Controllerless modems emulate the encoding/decoding hardware (the data pump) of the modem using a DSP chip (As do many 'hardware' modems nowadays). What is missing is the UART (which handles communication over a serial line), and the 'controller' (a microcontroller that accepts commands from the computer, configures the modem hardware, and sets the modem dialling). These devices are emulated in software. Certain controllerless modems can offer lower latency, or better voice support (for example the IBM mwave), as the overhead of the serial link is eliminated.

The driver for a controllerless modem does not deal with the encoding or decoding of modem data, and has an overhead comparable to that of a 'hardware' modem. After uploading the encoding/decoding software to the DSP on the card, the driver has only to handle communication with the DSP, and emulate a serial port and hayes controller for legacy applications. The more direct communication with the modem allows the drivers to provide useful supporting applications, showing a virtual front panel, the speed it's currently negociated, etc. Hardware modems cannot do this, as the serial link can be oused for either control or data, but not both at once.

As the modem has no permanent memory, updating the modem with an incompatible firmware will not damage the hardware. If 'hardware' modems are flashed with incorrect firmware, or the flash fails, they can be left in a state where the modem does not work, and cannot accept a new, working, flash. This is known, somewhat poilitically incorrectly, as Helen Keller mode.

Software modems

Software modems, however, should be avoided like the plague. As they have no processing capability of their own, the CPU has to do all the monkey work of encoding/decoding the audio signal into data. The PCI bus has to shift large amounts of time-critical audio data to and from the CPU the whole time the modem is connected. This constant loading of the PCI bus can cause problems with other devices needing bus access, such as sound and graphics cards. If the PCI bus is over-contended, the modem may slow down or drop data.

Software modem drivers are large, complex pieces of software. To work with the modem hardware, a large amount of the driver has to run in kernel mode, where it has unrestricted access to hardware and memory. Complex, time-critical software is very difficult to engineer correctly, and running in kernel mode means that a single bug can bring down the whole system. This software is written on the cheap by the lowest bidder, for a piece of hardware that every possible corner has been cut to produce. This is why software modems are so infamously unreliable.

Recently, there's been an alarming trend amongst bargain-basement computer stores to sell controllerless (and even software modems) as 'hardware modem's. Don't be fooled! If it needs drivers, it's a winmodem of some kind. In many countries, this is false advertising, and you are entitled to your money back, on the grounds that the goods are not 'as described'.