I’m reading Definitive MPLS Network Designs and I came across an interesting detail with respect to carrier delay. Carrier delay is how long to wait before signaling to the control plane a detection of a network link failure. By default, the interface will wait 2 seconds before signaling failure. Typically, it is a best practice to configure the carrier-delay to 0 so it signals immediately. However, if the underlying transport has a recovery time, it may be better to wait before signaling the carrier loss. For example, if you have a protected SDH link with a recovery time of 80ms, you should wait at least this long to allow SDH to recover the transport.
The same question applies if you’re configuring a carrier-delay on a transport where the circuit frequently drops and then recovers itself. A good example would be a dirty serial link that frequently drops for a few seconds and then recovers itself.
IOS Command Reference