First off these are gonna be generalisations and there will always be exceptions. The most important thing is that the haircut suits you, and you know how to work it.
In general, classic hairstyles are good. Stay classy.
Also, I prefer hair that looks soft and touchable. If your hair looks like it could stab someone, you have done something wrong.
For short hair, do not just gel straight upwards. Hair tends to look better when kind of half up, and towards one side. Do not overuse gel either, you gotta keep it looking like you just naturally sweeped through your hair. Your general hair shape should be round (but not bulbous) rather than like a stiff brush.
For medium hair, keep it looking like it has volume. Flat dead hair is unattractive on both guys and girls. Generally, this means sweeping slightly upwards and outwards.
For long hair, grease is your enemy. Why is that I see so many guys with long hair also have greasy hair? Keep it well maintained and looking lush. There is no excuse.
Avoid:
Any kind of short hair where you shaved some kind of pattern into it. Like those kids with the Nike tick on their head. What are you, 10 years old? Seriously what is up with that.
This = Douchebag