As an end user, if I buy a full fledged modem, I get some amount of proprietary, non GPL, code which executes within the board or the PCMCIA card of the modem. The GPL driver may even support the functionality of downloading a new version of *proprietary* code into the flash Eprom of the device. The GPL linux driver interfaces with it, and all is kosher.
On the other hand, I have the misfortune of being stuck with a soft-modem, roughly the *same* proprietary code is provided as a binary file, and a linux driver (source provided) interfaces with it. In that case the kernel is flagged as "tainted".
But in both cases, if the driver is poorly written, because of developer's inadequacy, or because of the proprietary code being poorly documented and/or implemented, my kernel may go nuts, be it tainted or not.
Can you honestly tell apart the two cases, if you don't make a it a case of "religion war"?