How should a watchdog timer be used?
The watchdog timer is used to reset you system if it gets stuck in an infinite loop or waiting for external devices to respond.

You configure the watchdog timer for an appropriate timeout depending on the system. (few milliseconds to several seconds)

In you program you need to reset the watchdog once in a while to prevent it from running out and trigger a system reset.

The trick is to reset the watchdog often enough, and not inside loops that might get stuck. 
If you put the watchdog reset inside a timer interrupt routine to prevent i from running out there is no point in having it enabled in the first place.