Difference between runtime and driver CUDA

I’ve understood that it’s possible to program CUDA in two ways, either by runtime or by driver, but I’ve never really understood what the main differences are? Can anyone explain?