ntpdate uses NTP (the Network Time Protocol) to synchronise a machine's internal clock to a more reliable external time source. Unlike a normal ntp daemon, ntpdate changes the time all in one go, resulting in a "step" in the time. On a normally-running system, this is a very bad thing, as it can either cause time-based events (like cron or at jobs) to be run more than once, or not at all.
The only good place for ntpdate is in a start-up script, where it can do its damage to the system clock without too many things worrying about it.
It is preferable to run a ntp daemon such as ntp-simple instead which will skew the clock rather than step it to avoid the problems mentioned above.