When an application program is loaded and executes, it can acquire resources (e.g. request memory, open files). When the program terminates, the kernel can deallocate those resources (if the program didn't clean up after itself) because the application executes in user mode whereas the kernel executes in supervisor mode.
A kernel loadable module can be loaded and unloaded in a manner similar to an application program. But the kernel cannot (or does not) supervise the kernel module, since the module is part of the kernel and also executes in privileged mode as part of the kernel.
Therefore before a kernel module is unloaded, it must deallocate any and all resources it has acquired, as well quiesce any hardware that it may have activated. The exit routine is the last chance that the module has to perform these operations, or it may leave the system in an unstable state.