I'll give you an example of where I used it last.
I have an online ordering system for surveys. So on the page, they give me information about various things, and I determine how many surveys they need. Then, they submit their order.
On this same page, I show them how many surveys they have already ordered, if any, and give them the chance if they have already ordered, to re-order more.
So, if they click submit, and order their surveys, and then they press "Back", then the order page would be loaded from their browser cache, and it would show that they have ordered no surveys, since my server routines would not run. This might confuse them, and they might order more and more surveys, all the time thinking the site isn't working.
So, I put this script on the page, and if they press back, they get the "page expired" message, and are encouraged to press "Refresh". When they do so, the server routines are run, and it will show that they have an order.
So it just cuts down on the ever-present "unexpected results" that we, as developers, have a hard time working with/through.
Like I said, though. I think that the history.go(1) option is a more elegant solution to disabling the back button for these types of situations where you don't want a user pressing that button.
hope that clears it up a bit.

paul