The (rough) answer to modprobe vs.insmod is this:
Modprobe is "smarter" about loading modules, in the sense that it can consult a file generated by depmod which tracks module dependencies. That means that if one module expects/needs another module to be loaded before it can load, modprobe can read the file that depmod creates to make sure that the necessary modules are loaded, and in the correct order. Insmod by itself doesn't do this, so you'll generally get "unresolved Symbol" errors if you insmod a module which depends on another module loading first. The man page for depmod puts it this way:
Depmod creates a "Makefile"-like dependency file, based on the symbols it finds in the set of modules mentioned on the command line or from the directories specified in the configuration file. This dependency file is later used by modprobe to automatically load the correct module or stack of modules.
When you boot, /etc/modules.conf is read by the system to determine which modules you want to load (although not all of the modules that will load are specified here). You don't actually place an insmod or modprobe command directly in the file; it has its own syntax which assigns an "alias" to a modulename. For instance, to add a line in /etc/modules.conf for the 8139too.o module that my NIC (eth0) uses, I put the following in modules.conf:
alias eth0 8139.too
What exactly you need to add to modules.conf depends on your particular modules and the devices that use them.