Which class is best?

There is no best class really but there are different classes that might suit your play style

Archer: this is a support class which is probably unfortunately the most buggy class as even if you hit your target sometimes you don't register a hit the archer does a lot of damage (more than the warrior not sure abut spearsman though) in my opinion this won't be a very good class until its bugs are fixed. The classes damage attribute is precision.

Warrior: this is a tanking class and a decent dps class (damage per second) the warrior has a shield which makes it a good tank what you can block with the shield depends on what shield you have, I have a mithril shield and every monster i have encountered fails to hurt me when i have my shield up, i like this class a lot and would recommend it. The classes damagee attribute is strength

Spearsman: the spearsman is the official dps class with the best damage in the game, if you want to do a lot of damage i would suggest this class. The classes damage attribute is agility

Notice the only reason that there is a damage difference between the warrior and spearsman is because with armour warriors can't get better damage then 3 on each piece of armour but spearsman can get 5 damage on both helmet and body armour