From the package description of dkms (Dynamic Kernel Module Support
Framework);
DKMS is a framework designed to allow individual kernel modules to be
upgraded without changing the whole kernel. It is also very easy to
rebuild modules as you upgrade kernels.
The upgrade for kernel 3.2.* to 3.9.* broke the nvidia module, which has
to be recompiled at every kernel upgrade. Installing nvidia-kernel-dkms
brings in nearly everything you need to ensure that the nvidia kernel
module is automatically upgraded every time the kernel changes. I say
"nearly everything" because it doesn't pull in the
linux-headers-nnn package(1) which is needed to do the job. With those
packages installed, any relevant updates will automatically recompile
the module(s) that would break.
(1) Where nnn represents your processor type. In my case amd64.