<sarcasm> I canโt imagine what you find so confusing </sarcasm> (edit: these tags were invisible before)
Very briefly:
- Microformats A way to use html pages for both a human-readable document and machine-readable data without repetition (for example, gluing CSV in the head element).
- RDF A data model designed for the Internet. Schemaless uses URLs to indicate types and relationships.
- RDFa A method of encoding (writing) RDF in html, following the style of microformats (i.e. minimizing repetition). It works by adding several attributes to html.
- Microdata An alternative to RDFa using different attributes and a different data model.
Less briefly, RDF arose from attempts to make webby data. There was even a plugin for viewing the RDF predecessor of MCF (from Apple with curiosity). The data model has been designed so that you can write what you want without first setting up column names or key values โโwith everyone else on the Internet. RDF was standardly written (serialized) using XML (although other, more pleasant formats are available).
So in this world you can have a readable home page ( me.html ) and a data home page ( me.rdf ) for the machines you need to scoop up. These machines will not understand the meaning of <p>I live in <a href="http://example.com/Chicago">Chicago</a></p> , but they can use :me ex:livesIn <http://example.com/Chicago> if they search for "livesIn".
Microformats are also trying to make "webby" data, or maybe it should be web-y data. The insight here is that there is a lot of data on web pages, between prose. If you have a few tips, the machine may decide that this html fragment above is basically an address. These tips are microformats. They typically use conventions around html class names to indicate that the content is larger than the text.
Thus, microformats do not require a separate web page for machines. But microformats cover only a few types of data (addresses, friend links, location ...) because of how they work. Each of them is a specific convention that must be agreed upon. Used without care, they can also mix poorly.
RDFa is an attempt to obtain both the flexibility of RDF and the simplicity of microformats. Microdata was the answer to RDFa, but with a different data model (roughly arrays and hashes, not a relational model). Unlike microformats, they do not dictate what information is provided, but how exactly it is encoded.
To complete what we are missing, we now have schema.org, which is an initiative of large search engines (Google, Bing, Yahoo, Yandex) to index web data. schema.org coordinates these values, so the search engine knows that, say, events have locations. Microdata was originally used by schema.org, but now both microdata and RDFa are supported.
These days, I would ignore microformats and go to schema.org. My personal taste is RDFa encoding, but either it or the microdata should work fine.