Really depends on what you're writing.
If you're writing something that could be logically grouped together (Functions with specific data) and that "group" is likely to have several instances, use classes. If it's a flat function /works on something regardless, you'd generally use a module.
You Might put math functions in a module as they would work with any value and be applicable to many legitimate uses without the need to class together the data with the function.
On the other hand, a GUI control is a prime example for when you use classes - You need multiple instance of a control (typically), they need to have data specific to that instance (width, height, etc) and functions specific to that control + they all need to be active in memory at the same time.
The real difference really is there will be a little overhead in creating a class, since you have to instance it, where a module doesn't require that - so if you created a class that would only ever have one instance at a time and you created a module that did the same but simply swapped out the data it was working on, the module would gain a slight performance advantage vs the constant creating and deleting of class isntances
You could "just swap out" the data in the class instance too, but the OOP concept is against that. You're not really supposed to access global data with them either, you're supposed to "pass" data /objects to the instances that need it rather than dump it to a global location and point functions to that global location. Which is all about keeping data strictly in what it's needed, protecting it from anything that could access and damage it.