Sequence is what you should be using for most animations.
It plays a simple animation that you can compile with the model using a modelling tool like Blender.
It only plays a single sequence at a time (unless you use something like
Entity:SetLayerWeight).
This might make more sense if you read this:
Gesture is for a sequence you only want to play on part of the model.
For example, if a player is walking and you want them to wave, you wouldn’t want their feet to stop and for them to suddenly slide across the ground playing a wave animation. You’d want their legs to continue playing the walking animation while their hands play the waving animation. This wave would be a gesture, and in fact it is, ACT_GMOD_GESTURE_WAVE.
Activity seems to be just for NextBots. Unless you’re making a NextBot, you probably don’t need to worry about it.
Scene is for things like the opening scene of Half Life 2.
I think they can include facial animation and sound playing, but unless you want an actual scene to take place, you probably don’t want to use this either.
[editline]13th September 2017[/editline]
I’m not much of a modeller or animator, but I have compiled an animation and played it in Garry’s Mod using
Entity:ResetSequence before, so I can confirm that sequences work pretty well