I think what you're looking for is quite antinomous: WYSIWYG and "see difference between documents". What if one revision of your document has a title with big letters, and another revision has a title with much smaller letters, or page break, or if one image is 1000 px high and another is 150 px? How can you compare all this side by side?
I'm probably biased because I'm using a lightweight markup language and I don't like much wysiwyg, but I've came to this idea especially because wysiwyg tools often produce ambiguous and unclean code, and because you can't easily compare documents when they're not using a lightweight markup language. Besides, when you're used to it, you can easily edit your documents on a server from a ssh connection etc.
Honestly, wysiwyg is not very useful, and it's not very difficult to remember
** ** is for bold,
// // is for italic etc...
Markdown is well-know and the buzz word at the moment, but there are also other markups, such as restructuredtext, creole, txt2tags (I favor txt2tags).
For checkpoints, use a distributed revision control tool, like Mercurial or Git (you don't need to commit on a server, you can just do it on your computer). It's robust and optimised for text-document.
On windows there is tortoisehg which does this with some easy to use gui and visual tools: http://tortoisehg.bitbucket.org/
Interface when you decide to commit your changes:
If you want to compare different revisions, there is a diff tool included:
Beyond this system, which you can use for individual text files, if you want to have something similar from the web, you can test this online:
The same file, edited from the web:
And edited with the "meld" tool, for comparing files:
Without a revision control tool like git or mercurial, you can still use it, but you won't have control on the snapshot, it will be automatically done after each save.