The longstanding practice is to load kernel modules in loader.conf, as early as possible. That’s good, for anything that needs them.
However, that also can be bad. Your machine can be unbootable if there’s a problem with a module or loader.conf is messed up, since that file is read long before the startup process finishes. Enter the new alternative: modules can be loaded in rc.conf, and the only loader.conf modules needed are those required by / to mount.