Modern dongles, used correctly, can provide very strong levels of protection against illegal copying. CodeMeter from Wibu-Systems has survived several public cracking contests (most recently in China!) with no winners.
The reason is strong encryption: the executable is encrypted completely with AES 128-bit encryption, and the key generation for decryption occurs only in the dongle. Since the half-life of the keys is short, even discovering one key (which would require enormous effort) doesn't provide a universal crack.
Crackers are very smart people, and won't work any harder than necessary to crack software. It's easy to leave vulnerabilities in the software if software protection isn't the main focus of your research and development efforts. Getting a good dongle and following carefully the manufacturer's suggestions for protecting are the best insurance against illegal copying.
Some useful questions when evaluating a system for protection:
1. Does it support the OS versions you want to target with your executable?
2. Does it encrypt the communications between the dongle and the OS?
3. Can it detect debuggers and lock the license if a debugger is running?
4. Does it use a smart card chip (harder to sniff with hardware tools)?
5. Does it use a single key or multiple keys?
6. Does it support the license models (pay per use, pay per time, etc) that you want?
7. Are a rich set of tools available to make it easy to use?
8. Can it protect other file types besides .exe files?
9. How good is their developer support? Has it been outsourced to another country?
10. How many reference customers can they provide?
Cost can be $50-$100 per copy (or less or more; depends on a bunch of factors). Most reputable vendors will provide you with pricing information with a simple phone call.
Hope this helps.