Modules and classes have a lot in common. Modules as you probably may know can't be instatiated but classes can. So what's the best use for modules and when do you use them? Well, the simplest answer would be if you have more than one class that share common methods. The best practice and wisest thing to do is to write a module that includes these common methods between the classes and include the module in these classes where you want to use these "common methods". Otherwise if you have just one class then it doesn't make much sense creating a module for the class. You could as well create these methods in the class itself and forget completely about the module. Unless of course you have similar methods that you want to group them into modules just for the sake of organization and keeping your code minimal and for refactoring later (when the need arrives).
The same for classes. You can require your classes if you have lots of different classes that you have organized into your scripts. This again, makes more sense if you have a lot of classes.
I hope this answered your question.