One crucial difference between the two is that microdata rely upon the itemprop model while microformats rely (mostly) upon the class model.
This is important for markups that use html sanitization, such as MediaWiki's wikitext, where class attributes are accepted but itemprop attributes are sanitized (i.e. removed). So only microformats can be used in MediaWiki.
Example:
In MediaWiki, a microformats syntax such as:
<div class="fn">John Doe</div>
will be accepted and render exactly as is,
but a microdata syntax such as:
<div itemprop="name">John Doe</div>
will render as:
<div>John Doe</div>
See also: