'kmod' (kernel driver module) is the pre-compiled, low-level software interface between the kernel and a driver. It gets loaded (into RAM) and merged into the running kernel. Linux kmods are specific to one and only one kernel, and will not work (nor even load) for any other kernel.

Advantages: Pre-Compiled - no need to fool around with compiling, compilers, *-devel packages and other associated overhead.

Disadvantages: updating and re-booting into a new kernel without updating the kmod(s) will result in loss of functionality and inherent delays in updating kmods after kernel updates.

akmods (similar to dkms) is a solution to the problem of some kernel modules depending on specific versions of a kernel. As you start your computer, the akmod system will check if there are any missing kmods and if so, rebuild a new kmod for you. Akmods have more overhead than regular kmod packages as they require a few development tools such as gcc and automake in order to be able to build new kmods locally. If you think you'd like to try akmods, simply replace kmod with akmod

With akmod you don't have to worry about kernel updates as it recreates the driver for the new kernel on boot. With kmod you have to wait until a matching kmod is available before installing the kernel update.

Advantages: obvious.

Disadvantages: HDD space required for compilers and *-devel packages; unforseen/uncorrectable driver problems that cannot be resolved by the automatic tools.

source - https://ask.fedoraproject.org/en/question/9106/what-is-the-difference-between-an-akmod-and-kmod/

Posted by linuxism