First, Hyper Beam is terrible, I have to mention that. Too many noobs think it's good because it's powerful but you have to rest on the next turn, therefore it's basically half the power.
Generally, good moves are the most powerful ones of their type with good accuracy and little or no bad side effects.
So Thunderbolt is usually considered better than Thunder. Something like Hi jump Kick or even Brick Break may be considered better than Superpower or Close Combat.
Good moves will not be predictable. For example, Dig or Fly allows the opponent to switch to a pokemon that can resist the move.
They will also take advantage of your best attack stat. For example Weavile's attack is way better than special attack, so don't go using Ice Beam; Ice Punch turns out more powerful. Some pokemon are mixed sweepers so use both physical and special moves.
Finally, a good moveset for an offensive pokemon will cover many types. Don't use all grass moves for example. You'll find Ground, Ice and Fighting a lot because those cover the most pokemon.