Often, developers being new to schema.org and the usage of semantic SEO techniques are confused about the relationship between schema.org and Microdata, Microformats, RDFa, GoodRelations, and other standards.
Here is a quick explanation that I have been given so often that I assume it may be useful for others:
When you expose structured data from within Web content by adding extra markup to HTML content, you have essentially two components:
1. A vocabulary (also known as data schema, ontology, data dictionary, depending on the background of the people you speak to): This provides global identifiers for types of things (“Product”, “Car”, “Restaurant” – often called “classes” or “types”) and for properties (e.g. “screen size”, “weight” – often called properties or attributes)
2. A syntax for publishing the data within Web pages in HTML. The syntax is the convention for the actual characters used to publish a piece of data. Relevant syntaxes in here are RDFa, Microdata, and recently JSON/JSON-LD.
Popular vocabularies on the Web are schema.org, GoodRelations, FOAF, SIOC, and a few others.
At Web scale, the absolutely dominant vocabulary for mainstream search engines is schema.org. GoodRelations is a special case, since 99% of the GoodRelations vocabulary are now integrated in schema.org, so you do not have to choose between the two. In other words, schema.org is now a new namespace for using GoodRelations. Additional vocabularies may have relevance on the long tail and can typically be used in addition to schema.org with no negative effect. Once they will have gained sufficient popularity, search engines may care.
Now, you can use the same vocabulary in multiple syntaxes. For instance, you can publish schema.org in RDFa or Microdata or JSON/JSON-LD. The most appropriate syntax depends on the purpose and on the target applications of your data. In Web content, Microdata and RDFa should be equally well supported by search engines in theory. However, actual support varies.
As of now, I would recommend the following:
1. Microdata syntax for schema.org. RDFa works, but not all structural variants of the same data will be understood by search engines and you need to be a real expert to find out which ones work and which ones don’t.
2. RDFa for GoodRelations in the original namespace, since for historic reasons, search engines know well how to process it.
3. JSON-LD for schema.org in eMails and other upcoming scenarios, see also https://developers.google.com/gmail/actions/reference/formats/json-ld.
Microformats are a special case, since they combine syntax and vocabulary. For very simple data structures, this works well, and Microformats are widely understood by search engines. It is just my personal opinion, and I am sure advocates of Microformats will see things differently, but in the light of schema.org and generic syntaxes like Microdata, RDFa, and JSON-LD, Microformats will be limited to very basic usages, and likely fade out.
So in a nutshell, schema.org in Microdata is currently the most widely understood and recommended variant.
schema.org in RDFa and in particular JSON-LD may become more important in the future, but you will have to monitor closely to which degree search engines can actually process data in those syntaxes.