While most (

) of the above ideas are good suggestions, you may
think along a completely different path: reborn cards[1].
As
Phish said - it all depends on your needs (
How often do you
find yourself formatting and reinstalling?).
The plus is that you can restore the clean state of your (real) machine at
every restart, or each week, or each month, or at some user-defined time).
This is in particular useful for public internet stations or crap-pcs (which are
in use for testing purposes and too weak to run vm's reasonably).
In addition, they are fairly cheap - accounting the time it takes to
create/restore images, vm's, ..., they are a fair bargain.
The minus is that you have to make sure to backup your data (same as
with all the above approaches) before restoring the old state...