A common example is a program waiting for output from a server while the server is waiting for more input from the controlling program before outputting anything. It is reported that this particular flavour of deadlock is sometimes called a "starvation deadlock", though the term "starvation" is more properly used for situations where a program can never run simply because it never gets high enough priority.
Another common flavour is "constipation", in which each process is trying to send stuff to the other but all buffers are full because nobody is reading anything). See deadly embrace.
The term "deadly embrace" is mostly synonymous, though usually used only when exactly two processes are involved. This is the more popular term in Europe, while deadlock predominates in the United States.
Compare: livelock. See also safety property, liveness property.