Main differences between Microdata and RDFa
Microdata is still a Working Draft (2012-10-25). RDFa is a finished Recommendation (2013-08-22) (first Recommendation back in 2008).
Microdata can be used in HTML(5) only. RDFa is markup-independent ("to express structured data in any markup language") and can already be used in HTML 4.01, HTML5, XHTML, ….
Microdata is a relatively new "invention". RDFa is based on the RDF model (RDFa is a RDF serialization format), the foundation of the Semantic Web.
If a Microdata parser stumbles upon an unknown item type (resp. vocabulary), it must not try to make use of it. RDF(a) parsers may try to make use of unknown vocabularies (which may work because vocabularies are typically itself described in RDF, e.g. with RDFS).
Note that almost all vocabularies are designed in/for RDF(a). With Microdata, most users seem to use only the schema.org vocabulary, but this one can be used with RDFa, too.
Some argue that Microdata is easier to understand/use than RDFa. I don’t think that it’s true, especially not with RDFa Lite, which is sufficient "for most day-to-day needs". You can read the whole RDFa Lite specification in 10-15 minutes.
See also
- my answer on Stack Overflow: future of RDFa and Microdata
- my answer on Programmers SE: RDFa vs. Microdata vs. Microformats
- The HTML Data Guide "aims to help publishers and consumers of HTML data use it well. With several syntaxes and vocabularies to choose from, it provides guidance about how to decide which meets the publisher's or consumer's needs. It discusses when it is necessary to mix syntaxes and vocabularies and how to publish and consume data that uses multiple formats."