watchdog and nmi_watchdog are two separate things with similar names.
Watchdog
The Linux kernel watchdog is used to monitor if a system is running.
It is supposed to automatically reboot hanged systems due to unrecoverable software errors.
The watchdog module is specific to the hardware or chip being used.
Personal computer users don’t need watchdog as they can reset the system manually.
However, it is useful for systems that are mission critical and need the ability to reboot
themselves without human intervention.
nmi_watchdog
A watchdog is usually a timer like mechanism which will generate an
interrupt at a specified time interval.
An NMI is a non maskable interrupt.
So an NMI watchdog is a watchdog which will generate a non maskable interrupt,
i.e. the interrupt handler will get executed no matter what the CPU state is.
This is very useful in scenarios where you are getting unexplained system freeze scenarios,
as the NMI watchdog interrupt handler will simply kill whatever process
happens to be freezing the CPU at the moment.
This way, your CPU gets freed up AND you get a detailed stack trace of why your
CPU got frozen up in the first place.