There are big diffs, and also depends on what you're going to do, how program is used etc.
some examples:
if you are building a stand alone, self contained app, you might put all your func in a mod.
if you are building an n-tier app, you might want to only distribute the GUI to clients, and locate all your functions in a .dll on a server. One reason to do that is if you need to change some code in one of the func, you only need to change it one place(on the server) and not on multiple clients.
classes become objects, therefore, can be created(1 or more instances existing at the same time). Some things a class object can be used for are: Storing data(say, 1 cls obj per employee) & keeping these cls objs in collections(say, a collection of all the employees for the company, ie: a collection of 'Employee' class objects.)
just a few examples
JT Tim
Remember the KISS principle:
Keep It Simple, Stupid!