Here's how I see it... (I await flames from all sides!)
Filesystems for disks which you use on a day to day basis (especially those which are mounted at boot) should be compiled in; any others I'd compile as modules to save on memory.
Drivers for devices which are non-removable should be compiled in. (They'll just get loaded at boot anyway if they're modules, so you might as well compile them in.)
Anything you need maximum performance for should be compiled in (there are slight performance gains to be had doing this).
Removable devices I usually compile as modules, e.g. my USB sound card. The sound card is never deliberately removed, but if its USB cable is stood on, or comes loose, I can unload and reload the module to get the device running again without crashing the whole machine.
FAT32 support (I only use it on USB storage devices) and ISO9660 support (I rarely mount CDs) are also compiled as modules.
Basically, if a device or filesystem type or whatever can be removed while the machine's running, it's a module: everything else gets compiled in.
Last edited by ilikejam; 10-31-2005 at 07:03 PM.