One use case that I can think of is use in distributed applications that have possible consistency semantics. A system consuming a message may have a dependency, such as a proportionality identifier, which must be available, and therefore, it may be necessary to wait for a certain guaranteed length of time before looking at collaboration data. In this case, it makes sense to delay the message for a certain time.
source
share