In any microcontroller, the watchdog is a timer that is supposed to reset the micro if it times out. The watchdog's function is thus to detect if the micro has gone "berserk" and reset it.
It's similar to your computer doing something funny and your resetting it when you see there is nothing else you can do to bring it back under control.
In an embedded system, since there is no one around, this function belongs to the watchdog timer.
Knowing you are going to use a WDT, you write your program in such a way as to reset the WDT often enough to prevent it from resetting the micro under normal conditions. For the PIC example, the period is 18ms. So make sure you return ot the CLRWDT instruction in less than 18ms. If not, insert another CLRWDT. Although that is not very advisable. Ideally, you should have only one CLRWDT instruction, located in the main loop. That way, if the program gets stuck, the WDT will reset the micro.
In the PIC, the WDT can use the 8-bit prescaler (see PSA bit) to increase the timeout period. The prescaler can be assigned either to TMR0 or to the WDT, so you have to be careful here. If you really need it for TMR0, then you have to take care of the WDT within 18ms (actually, less than that, since the tolerance on the WDT is large, the minimum being about 9ms, if I am not mistaken. But this should be no problem, sinc even at 1MHz the PIC will execute avout 9,000 instructions within those 9ms).
Special attention is to be paid to wait loops. If the wait time cannot be determined, you will have to include a CLRWDT in that loop. Although, as you correctly said, that is dangerous, since if the micro gets stuck in such a loop the WDT will not reset it. So pay special attention to these loops, make sure the program can not get stuck there. Or, use a timeout function, to limit the time spent in the loop, if possible.
What I like about the WDT on the PIC is that it runs off a separate RC oscillator, one that has nothing to do with the main system clock, so the WDT will work no matter what.
What I do not really like about the PIC's WDT is that it works even in sleep mode. This is sometimes desirable, but sometimes it is not. I think they made it really independent, so you just have to live with that.
Anyway, the WDT is not supposed to be used as a timer, do not rely on its period. It should never be allowed to reset the micro, except in sleep mode. And then you test the source of the wakeup and if you find it was the WDT, you can just go back to sleep.