It's just a sign that you'd like an object to be treated some special way later. For example "Serializable" says if the JVM is serializing a bunch of objects this one would like to be included. Any objects that do not implement Serializable will be left out. Almost too simple to be true, no?
A good question is never answered. It is not a bolt to be tightened into place but a seed to be planted and to bear more seed toward the hope of greening the landscape of the idea. John Ciardi
I think you'll see marker interfaces fall out of favor when Java 1.5 comes out. Annotations (JSR 175 "metadata") captures this information in a much cleaner way. There isn't really much intro material on annotations yet, but keep your eyes open for it...
I’ve looked at a lot of different solutions, and in my humble opinion Aspose is the way to go. Here’s the link: http://aspose.com