A lot of people get confused about RDF. Many don't understand why one can't just use some other XML form to accomplish the same thing. For instance, one advantage of RDF is that one can freely mix terms from one RDF vocabulary with another. You can't really do this with XML. Of course, XML people will think you can.

One reason for this is that the XML people are thinking only in terms of syntax. RDF, however, is actually just a model, but happens to have a serialization syntax (there are several actually). If you think solely in terms of syntax, RDF-XML might not offer any advantages since it is just XML too. When thinking in terms of the RDF model being a set of triples, or as a graph, then there becomes a difference.

Unfortunately, thinking this way requires an intuitive leap that many may be unable to take. This is similar in some sense to how people look at pointers in C. Some people are just unable to grasp pointers, no matter how hard they try. Likewise with RDF. With the usage of HTML, XML and so forth, people have grown accustomed to thinking in terms of syntax. It's unlikely, for instance, that someone writing some HTML is thinking about the DOM tree the code produces, rather they are thinking about tags and text. When people start to use RDF, learning syntax is the first thing they learn.

People that are new to RDF, ask questions about problems they have, but are often thinking only about syntax. Often, they ask, 'how do I produce this RDF?' and give an example of RDF-XML. In can be difficult to answer since it's unclear what they have already and what they are trying to do. If the person doesn't understand the RDF model, it can be difficult to explain in terms they can understand.