Circuit switching and packet switching are two approaches to moving data through networks. In circuit switching, resources like bandwidth are reserved for the duration of a communication session. In packet switching, resources are not reserved and packets use resources on demand, potentially having to wait in queues. Packet switching allows for better sharing of bandwidth compared to circuit switching. However, packet switching is not suitable for real-time services due to unpredictable delays from queueing. The four sources of packet delay are processing delay, queueing delay, transmission delay, and propagation delay.