The purpose of a watchdog timer is to forcibly reset your microcontroller if your code gets stuck for some reason. It has a timeout period, and if you don't poke it during that period, it resets you. You're supposed to stick that poke somewhere in your main loop, preferably with some sanity checks so you only poke it if everything is good.
Yes, most microcontrollers have one, but MSP430 is somewhat unique in that it starts up with it enabled by default.