From what I have observed, the best ones are just a nag as part of the loading screen.
This works especially well if your clients are businesses, but it can also work well with individuals.
A simple message "Registered to x" can be enough. Pirates are going to continue to pirate, and they won't care if they downloaded the game from a cheat site, or if it says "Registered to Lame Hacker", they'll still use the software. More honest people will pay, or at least feel guilty enough about it that someday they might pay.
As a real life example, one of my friends has a fairly popular shareware-style utility and is constantly battling piracy, but in a beneficial way as it is tied to support and benefits rather than to disabling features or other punitive measures. In one update he added a 'phone home' capability that reported assorted telemetry in addition to the license key to help discover and disable pirate keys. Among the discoveries, he found Microsoft had about 2000 users in their domains, but only a single license for a team of 12. They were not the only corporate offender, but they were the worst by number. So he amended his splash screen slightly, to say either "Registered to x, single user license" or "Registered to x, n user license" based on the license key. His forum went wild. There were a lot of people turning in their companies "It says registered to our CTO as a single person license, but everyone uses it." Some IT people piped up saying things along the lines of "Our mistake, we have a 2-5 user license for a team of 150, we're paying now" and paid up. A few individuals piped up "I didn't know it was registered to someone else".
Since updates were frequent people were more likely to get the updates directly from the source rather than pirate sites, so with the added license visibility quite a few companies quickly coughed up money when it was obvious to all the users that it was out of license. He said that as the worst offender, Microsoft's licensing contacted him and worked out a bulk license deal, but even then he contacted them again with a list of phone-home IP addresses to help them get back in compliance or pay up. The 'phone home' is not just to disable pirate keys (usually accompanied by notification to the person who owned the key) but it also pulls out useful telemetry like feature usage, confusing features, and crash reports. Some people continue to abuse the license system, but it is tied to their license key so if they ever need to log in for support they are greeted by a screen that says their licenses appear to be out of compliance.
Otherwise if they have an unlicensed version of the software they can use it, just with a big nag screen during loading.
I also see this kind of thing in software like Perforce or Visual Assist X. They prominently display messages like "Registered to Company, 1500 user license".