On my main machine, I always use the latest kernel, and 'testing' packages. This works well for a year, and then you start to get errors that have been recorded since 2005. That's the time to completely reinstall a new Debian. I use the 'live' install with all firmware (non-free). I just did it, and now I'm converting all over to 'testing'. It helps to have disk drives for backup, then you don't lose all your configuration.
So, if you start getting stupid errors, then it's time to bite the bullet. My other machine running stable never needs this.
ps. AAAH! I'm dying. This is my 5th reinstall today. I want to do so much, like a new kernel, going to testing, etc, that's it's constantly blowing up. The order is important here, and I can't remember anything from last time. :(
pps. Here's the final recipe for future reference.
Get Debian Live install, KDE, with non-free and firmware.
get aptitude. install build-essentials and kernel package, and ncurses5-dev
build latest kernel, use 'kitchen sink' default -- make menuconfig
test things, reboot
Plug everything in, activate nfs, and 'make localmodconfig' -- takes out an hour or two off compiling
compile again, reboot
test, reboot, go to recovery mode
change 'sources.list' to 'testing', aptitude update, aptitude full-upgrade.
install samba, and tons of other misc. programs.