What's the difference between a class devired from MonoBehaviour and a normal class which doesn't inherit from MonoBehaviour?
Well the obvious answer is that you get access to all the functions the class inherits from MonoBehaviour.
http://unity3d.com/support/documentation/ScriptReference/MonoBehaviour.html
A monoBehaviour class is automatically instantiated by Unity. A normal class needs to be manually instantiated.
I have about 30 classes so far and maybe only 6 are MonoBehaviours. So if you dont need to inherit from MB, dont.