Congestion management involves queuing, buffering and scheduling traffic.
To queue traffic is to temporary store it on the network device whilst waiting for an outbound interface to clear itself of congestion.
Congestion can occur for two reasons, the input interface being faster than the output interface, or the output interface is receiving packets from multiple input interfaces.
Congestion is detected by the queuing algorithm when a Layer 1 hardware queue, known as the transmit ring, on physical interfaces is full. When this transmit ring is no longer full, the congestion has cleared and the queuing is no longer required.
When congestion has been detected, queues can fill up. In this queue packets can be reordered by their queuing algorithms so higher priority packets can exit the output interface before lower priority packets.
Scheduling algorithms determine when packets are transmitted, and are always active regardless if there is a queue on the interface or not.