Microcontroller's watchdog
The watchdog is just a timer on the same die as the rest of the microcontroller. It's mainly meant to catch software errors, there are no precautions for a malfunction of the watchdog itself. Typically one would reset the watchdog timer in the program's main loop. If for some reason the main loop will no longer be executed the controller will reset.
If you don't trust the microcontroller hardware you can always add an external watchdog IC.