Solutions maybe...
In the future we all need to connect to massive servers to play the games or use the software since any file used by a game or an application can be copied unlimited times and shared. So this will require some massive broadband connections with gigabytes per seconds. This is probably one way to do it.
Another way is to use some other type of verification like verifying the installation online, just the way Microsoft does with all kinds of products they make. The last option is to verify the installation by inserting some kind of device into the USB port to verify the installation and to make sure that this is a valid copy of the software/game.
Still the serial key is very powerful solution but people with high education in programming can even turn into hackers someday and use their knowledge to break another solution made to prevent software/games from being cracked.
It’s great that VSTEP publish demo versions of Ship Simulator sometimes since people can try it. Some software/game publishers don’t give out a demo version at all.
Future reading:
Wikipedia - Warez (http://en.wikipedia.org/wiki/Warez)
Wikipedia - Warez arguments (http://en.wikipedia.org/wiki/List_of_pro_and_anti-warez_arguments)
Wikipedia - Software cracking (http://en.wikipedia.org/wiki/Software_cracking)