Good question, and was best answered by the description/example in the tutorial I reference. For convenience, I will re-quote it here …
"In embedded system world, devices are usually always running and with no user interaction. So if something went wrong, it would be very beneficial if we have an automatic reset button. "
Now add to that, the ability to programatically detect what went wrong the last time … as captured by the same tutorial under "In some cases, you need to know if the system did reset because of a watchdog to log this info or run some recovery procedures. "
Any suggestions welcome