But marker interfaces is rather a design antipattern than a design pattern, so Clonable & Co. shouldn't be emulated (see J. Bloch, Effective Java). It needs a lot of extra documentation to explain what such an interface is good for.
Marker interfaces are used to specify that a class belongs to a logical family or grouping - as quoted above, Cloneable is used to indicate that a particular class can be cloned, or Serializable is used to indicate that a particular class can be serialized.
IMHO, it is very rare that Marker interfaces are an intenional result of good design. In both the above cases, the relevent clone() and serialize() methods could have been moved out of the Object class into the relevent interface - and these would no longer be marker interfaces.
Whether a class is declared to implement a given (empty, merker) interface or not is a bit of information. It can be used to mark something about the class on the meta-level, that is, not on the direct level of interfcae method availability.
One can argue whether the Cloneable and Serializable are good usage or not.
(Arguably Cloneable not, Serializable yes).
If you read the Effective Java chapter on serialization, you may begin to question that Serializable is a good use of a marker interface. One of the annoying problems with marker interfaces is that you can't remove them in subclasses, yet for functionality that is independant of the natural is-a relationship and is used entirely in tangential service code, it would make sense to. Almost every use of a marker interface causes problems. The closest I would choose to a correct one would be RandomAccess. Collections are generally RandomAccess or not, and the Abstract class can make very sensible decisions about the best way to do things based on whether or not its subclasses are RandomAccess or not. Of course, you still have the problem that you can't subclass RandomAccess classes and make them not RandomAccess, but this would be quite unusual subclassing behaviour anyway.