There's a related question What is the preferred Java XML binding framework?
In the answer currently ranked 2nd there, the poster drew a distinction between XML Serialization, and Java/XML data binding. As best I can tell, XML data binding means "creating an in-memory object graph from an XML document". And XML Serialization means "creating an XML document from an in-memory object graph."
I don't see that they are different at all, just different perspectives on the same problem.
The argument was that the emphasis in data binding is on the object model, while the emphasis in serialization is on the document format. I don't see that at all. If one is serializing an object graph to XML, presumably one cares about the format - it needs to be readable, toolable, validatable. (If the format is irrelevant, then why not just use binary serialization and be done with it?) On the other hand, when performing "data binding" (what I would call de-serializing), there must be a balanced emphasis on both the document format and the object model.
So the question to you:
Is there a difference between Java/XML data binding and XML Serialization that is worth worrying about?