If you look at Utilities/Consol - DirectoryService.error.log you will see a list of improper shutdown detected -- My pro circa 2008 shows some in Leopard and the rest in SnowLeopard as I have not updated -- but each and every one of them happened when the desktop/finder froze.
Some years are better than others -- one way to prevent freezing is to restart if the desktop does not look right on startup - or it takes a long time to startup.
I found that the long startup may be doing something - as mine happen on Tuesday and Wednesday -- and a freeze will happen if I don't restart sometimes twice more just because the load is off -- the apple menu bar doesn't come up immediately - or the desktop icons don't pop up - or the dock is in the wrong place.