Like Stephan writes
Maybe one could say a package is for extending possibilities, a class
is for restricting possibilities.
But now you need to make a point : I you need a lot of extending possibilities and to add a restricting possibilities of the class perhaps you need to create a class.
I think if you need specific document like 'homework notebook' or
Cookie Recipes . It's perhaps interesting to create a class. The class in this case is to use only for a specific format (layout) and you dont need all the tools like a classic class gives.
Now there is two cases. You can create a class based on another class (a lot of people do this) or you can create a new class from nothing. I do this to create exams and courses because I needed to modify a lot of things ( every things )
Final remark : If you create a class, this document must be very simple. The only purpose is to give a special layout. It's not necessary to do every thing with this document.