I myself pay for software I know I could of looked up a crack for, but being a developer I know how much effort software development takes I opt to either find an open source alternative or buy the product if reasonably priced. If I can't find a decent alternative and the price is poor, I probably wont use it, whatever it is.
Anything short of that is probably going to be cracked for software that is even modestly popular. I think setting the bar just high enough to keep grandma from breaking it is pretty much just as good as something more sophisticated.
The psychology of it is, you can't stop nefarious users ultimately. But you need something that at least makes honest users take some extra action specifically to crack your software. Making them feel like they are pirating something will stop most honest users.
There have been many companies/independent developers who have used the "warez scene" to intentionally "leak" and distribute their software. As the software gains traction they make it easy for the user to buy a license so they can update the software from within the software. Otherwise the user has to wait until a new cracked copy gets released.
You'll never ever stop anyone from cracking your software but convenience does come at a price.
Also, that user is running some random binary from the internet just not to pay. Without that crack, you would never have had that user.
You couldn't be further from the truth.
No one is gonna crack your software. There isn't 1% of your customers who could disassemble your software. There isn't 0.1% who could make a crack. Enterprise users don't even run cracked software.
Software licensing is about making as little work as possible to block non paying users. Time spent developing useless counter measures is time not spent selling and developing your product.
A good old key file with only the last payment date will do just fine. Send everyone who didn't pay since last year to your payment page :D