Marshalling is the "simple" process of putting together a bytearray containing the treestructure of your etd. The exact work depends on the kind of etd you have(xsd/dtd generated, delimited or fixed size)
Unmarshalling is the exact opposite. Given an array of bytes, a treestructure will be generated/parsed (again depending on the kind of structure).
On an unmarshalled structure you can work on the parsed data; you can change data in the semantical context. The marshalled structure is a mere byte array, where you cannot manipulate data, but which can be processed by a transport layer like JMS or persitated (in a file or so).
After marshalling, you can unmarshal the byte array again (in another module) and you will get the same information as before.
The processing can be compared with the Serialization methods in Java, but works with non-Java message formats.