Ask ten people, and you might get ten answers. But there is a simple definition: a Good Serve is one that helps you win. Ideally, this would mean a serve that the other guy can't return – but if you can do that, your opponent isn't your level anyway. What you really want is a serve that sets up Your Game.
This means that if your best shot is a loop, then your serve should set up your loop as often as possible. If your best shot is a smash, then that's what your serve should set up. If you are more of a counterdriver, then that's what you want the serve to set up. And so on. On the other hand, what's a good serve for one player might not be a good serve for another. A short backspin serve might set up a looper who wants a push return – but it might not set up a counterdriver, who wants to get into a topspin-countering rally. A fast & deep serve might set up a hitter or counterdriver, but it might take a looper's best shot away. This doesn't mean a player should always serve the same way – but that they should favor the serves that will set them up.
You also have to take the future into account. If you are a blocker, you might win now by serving long over and over and letting your opponent attack so you can block. And while that might not be a bad tactic, strategically you might want to learn to serve and attack, perhaps by serving short, so you can add another aspect to your game. So you might want to develop serves that set you up to play the way you want to win in the future.
So develop lots of Good Serves, which set up your game now, in the future . . . or perhaps ones that just win you points directly from the sheer Goodness of the Serve.