With the security keys, you can constrait your software to run on the machine with:
specified USB key
specified hardwares including CPU, GPU, Motherboard
Access Level Controls
You can make a Administrator, Editor, User level keys for your software to access different functions. Same software can be works with different party by inserting different keys.
Network Key Support
If you are running a online server, you can save the keys on server. You can force the software check keys online for top security or keep local checking as a backup plan. You can control all rights of keys in any time.