Version history/ revisioning
You can set each content type to default to create a new revision; if you edit a content type you'll see something like this:



Select the 'Create new revision' checkbox and save the form; when you add/edit content of that type the 'Create new revision' option will be pre-selected.

As far as diffing revisions goes, you can install the Diff module:


  This module adds a tab for sufficiently permissioned users. The tab shows all revisions like standard Drupal but it also allows pretty viewing of all added/changed/deleted words between revisions.