To add some explanations to thitons answer: Debian policy is to provide a well tested stable distribution, in which all different components and bits and pieces work well together, in a predictable way. There is nothing as annoying as having a behavior of an important piece of software change in a subtle non-obvious way the day when you are rushing a deadline, just because the software was upgraded to its latest version overnight. For that and other reasons Debian does not keep up with the "upstream" newest version or programs. Once a distribution is released, the software is kept at the same version, and only security bugfixes are released. When the next version of Debian is released, a new, well tested combination of newer versions of software can be installed. That policy is what makes Debian so strong.
Together with the "stable", or official, distribution, Debian maintains several other distributions: testing, unstable and experimental. The main purpose is to allow volunteers to test new versions of packages and how they work together, in order to prepare the next stable version. Many people, however, successfully use the testing distribution in their daily work. If you do that, you get regularly updated versions of software (they may still be little bit behind the actual newest version of the software, as it takes some time to package the software for Debian). On the other hand, you risk occasional unstability and possible unpleasant surprises, when things suddenly stop working the way they did before, because a new version of some package was added to the testing distribution. You can somehow mitigate this by only installing some individual packages from the testing, unstable or experimental distributions, which is what thiton suggests. You may want to read this webpage on pinning.
Another possibility, if you want to use the newest version of some software, is to manually compile it yourself, and install it in the
/usr/local/ directory tree. The official package manager will not touch anything in
/usr/local/, so your manually installed software will not get overwritten by the official version when you update your system. On the other hand, you will then have to assume responsibility for keeping your locally installed software up to date.