Like the KB entry said ... database or (yuck) files.
Database is sensible for very loosely coupled processes with no time constraints, especially if the traffic is one way. E.g., one process creates a report request and then goes off on other work and a reporting process picks up the request and processes it.
Sockets are sensible for more direct coupling between limited number of sessions, e.g., a constantly running server process and a client process which is triggered from time to time such as in response to an EDI message.
Sonic is indicated when there are multiple loosely connected processes, traffic in multiple directions, especially when there are multiple machines and one requires reliable messaging.
Passing files is indicated when you don't care enough to do a quality job.