The problem with dongles
The dongle sounds like an ideal solution, but it suffers from some underlying problems that affect the end user and the software developer alike. These can be collected together into a few categories:
Using physical media causes physical problems
Physical devices can be lost more easily, especially small form factor devices such as a dongle. A customer who loses the dongle will not be able to use the software until it is replaced.
Supplying and replacing dongles is a problem for the vendor. One of the advantages of working in the software business is that inventory is less relevant because your product can be replicated and doesn't take up any space.
Conversely, dongles must be managed as physical stock, placing additional demands on your business. Replacing your customers’ lost dongles is yet another problem.
Because dongles have not traditionally offered any "value-add" for the customer, replacing a lost dongle is simply an inconvenience for the customer, especially if they have to pay for it.
Dongles are also expensive to manufacture, meaning that suppliers must increase the price of their software to accommodate the extra up-front cost. Buying 1,000 traditional dongles at $30 each will result in a $30,000 inventory, which has to be held in stock until it is used, tying up badly needed capital that could be used elsewhere.
Higher development costs
Dongles are traditionally hard to upgrade, requiring you to send out a new device or new drivers. Users have to wait until these upgrades are issued before their software will work properly.
Software protection that uses dongles is not as easy to develop for as non physical technology. Apart from the universally accepted physical interfaces (serial port/parallel port/USB) there are no standards for dongles, meaning that each dongle solution works differently, using different ASICs and software drivers.
They create support headaches
Dongles can cause incompatibilities with hardware and software. A dongle that works perfectly well may suddenly experience problems following a major operating system upgrade or driver patch. Should a dongle suddenly begin locking up because of changes to its operating environment, the supplier will have to resolve the problem, often with considerable time delays waiting for new drivers. The costs could be significant.
For more useful information, See "The alternative: software-based protection"