In any system that keeps processes waiting while it makes
resource-allocation and process scheduling decisions, it is possible
to delay indefinitely the scheduling of a process while other
processes receive the system's attention. This situation, variously
called indefinite postponement, indefinite blocking, or starvation,
can be as devastating as deadlock
From:
http://wps.prenhall.com/esm_deitel_os_3/17/4402/1127072.cw/index.html
Havender’s conditions for deadlock(1968) - 7.2.1
• There is a circular list of processes each wanting a resource owned
by another in the list.
• Resources cannot be shared.
• Only the owner can release the resource
• A process can hold a resource while
requesting another
From:
http://www.cs.auckland.ac.nz/~robert-s/415.340/lectures_1997/lecture35.pdf
So indefinite postponement causes 1 process to suffer while others continue normally, which can be caused by poor scheduling or other reasons, a situation where the indefinitely postponed process always has a lower priority than all other processes after the same resource. At some later time, it MAY end up with high enough priority to get the resource.
Deadlock results when a process is requesting a resource held by another process. That process (A) will not release the resource until it gets its hands on another resource it is requesting, which incidentally is held by another process (B) which will not release it until it recieves a resource held by another process (C) which will not release it until it gets that resource being held onto by (A). That scenario involved 3 processes, A,B,C; but it could potentially involve any "circle" of 2 or more processes.