The usage for the *.run package is so that distro maintainers can build their packages from it.
You can of course use the *.run package to install the driver manually, but this isn’t a good idea. In fact the NVIDIA download website even mentions this. The problem is that installing the *.run package will place files into your system directories, which are untracked by your package manager. On a Linux system every file that isn’t part of your home directory belongs to some package that makes up your system.
Now if you install the *.run package you will have files in place, which would also be provided by the nvidia package that is provided by your distro. If you don’t properly remove the manually installed driver you packagemanager won’t be able to install any nvidia package from your Debian repos, since the files already exist on the system. Even worse you can end up with both getting mixed up, which is of course bad since they are from different versions.
The NVIDIA driver makes use of a 3rd party kernel module which is loaded as an interface between the kernel and the driver. This module has to be compatible with your kernel. So when a distro has say the Linux 3.10 kernel in its repos, it will build the nvidia driver against this version. So when you install the nvidia driver it will work with your kernel. You can’t upgrade your kernel to a new major version and use the old nvidia package which was compiled against the old kernel. So distros will make sure that the nvidia package is rebuilt against the new kernel, when they ship a new kernel.
Nouveau is the open source reverse engineered driver for nvidia cards. It also uses a kernel module called (nouveau), but nouveau IS part of the Linux kernel so it will always be compatible with your kernel. It will only need mesa installed which is the open source implementation of OpenGL. It will provided the libGL.so for the nouveau driver and other open source driver like Intel. The NVIDIA driver ships NVIDIAs closed source implementation of lbGL.so. Since both files can’t exist in the same place at the same time the open source driver with the mesa libGL.so has to be removed when you want to use the NVIDIA driver. Since the nouveau kernel module is part of Linux it can’t be removed, but it can be blacklisted so it won’t get autoloaded when your PC starts up and your hardware is detected. Instead the nvidia kernel module will be loaded. Every nvidia package you install on a distro automatically adds a small *.conf file containing “blacklist nouveau” to your modprobe.d folder, which makes sure nouveau doesn’t get loaded.
Debian is a release based distro meaning every version of Debian is basically a snapshot in time of whatever was the latest stable version of whatever software it provided at that time. Since Debian only releases a new stable version (Wheezy being the current one) every two years the packages will be very old of course after some time. You won’t get any new software until a new version of Debian is released (there isn’t a fixed schedule). The next version of Debian stable will then, ship a new version of everything (Linux kernel, nvidia driver, libre office etc.) There are also testing and development branches of Debian, which will contain packages that are newer than the ones you find in Debian Stable. The purpose of these branches is to make sure the new packages are OK, when a new stable release is made. Debian Unstable (also called Sid) will have the newest packages you can get on Debian. Most will still not be the latest version that you can find on the web, though.
Using an old base system like Debian wheezy and trying to keep some parts of it updated to the latest version isn’t a good idea and prone to errors if you don’t really know what you are doing. You could probably use some packages from Debian Unstable on Debian Wheezy (Stable), but you have to be aware of dependency conflicts.
There are also distributions (like Gentoo or Arch Linux) which don’t have any releases and simply ship the latest version of everything after it has been packaged. Often this is just 2-3 days after the new release is available on the web. Critical packages like new kernels, drivers or desktop environment releases will still go through a short testing process.
So how do you get a new version of the NVIDIA driver?
To make it “relatively” easy I’d just update to Debian Testing or Debian Unstable. You still won’t have the latest driver, but considerably newer. Also keep in mind that there are multiple branches of the nvidia driver, since support for older cards was dropped at one point. The 304 branch is for cards that are from ca. 2006 (like the 6000 series). The current version 340 supports everything from 8000 series upward and with the upcoming 343 driver (there is a beta already) support for everything older than GeForce 400 will be dropped. So you will likely find a nvidia driver in your Debian repos and also packages like nvidia-304, which are for these legacy cards.