You can also use synaptic to update a single app by finding it in the gui and selecting the version of it you want. But i'm an aptitude man myself when I have to use debian. Personally, I find gentoo eaiser to get exactly what I want. Ebuilds are a little easier to make then debs when there is a package you can't find. Plus USE flags let you save space and time by limiting what the app depends on (like why would I want X support for links). That said, both are really nice distros and are really easy to use and maintain, although some features like runlevels are handled a lot better in gentoo then in debian (rc-update rules). Debian handles a lot of things for you such as reverse dependances (no need for revdep-update) and it rarley breaks in stable, but when it does I find it breaks really bad (although you did something to deserve it). You should also look at ubuntu, I find it a lot better to work with then debain (updated more frequently and still has great package choices). For a server I just pick their server install which gives you a bare minimu of software (just enough to get to a bash prompt and use apt). Then I use apt or aptitude to install just the stuff I want for my server.
My question is, if you already have a working machine, why do you want to change it?
BTW to reinstall or update a program in debian I belive it is apt-get install --reinstall blahblah