watchdog timers are a good thing and a bad thing.
Good things about watchdog timers revolve around the fact that the programmer (ie., me) is getting screamed at about the fact that the project is missing deadlines. This is because all software projects miss deadlines, except for the ones that get released early and broken. Windows 95 is a good example of this.
So, as a programmer at the sharp end, and knowing that you don't have time to debug everything properly, you say, "ah, nuts to it, I'll just make sure we have a good watchdog to reboot it." This reduces the number of fault tickets that get logged, because if it restarts itself, the customer generally won't bother to call for support.
Bad things about hardware watchdog timers revolve around the fact that every embedded system is allowed to get released with bugs. My satellite TV decoder crashes about once a week and then takes a minute or two to reboot. Sometimes it does it during a programme, which is exceedingly annoying. Sony should be ashamed.
In a perfect world, there'd be no need for watchdog timers.