Roughly speaking there are two types of delay, "inertial" and "transport" (and combinations of both).
"inertial" delays represent capacitances (usually parasitic) that take time to charge and discharge. Most basic logic gates would fall into this category. If something charges, as charging and dischargesdischarging capacitances is the main cause of delay. Delays may not be symmetrical and may depend on the states of other inputs. If you look at the output on a scope you would see it ramp up/down to it's final level. If the input changes too often fast then it will never reach the levels it's supposed to reach and you will get andan output that wanders up and down without actually reaching it's targets.
"transport" delays represent things that delay a signal without destorying it's shape. One example is a properly terminated transmission line. A long chain of gates can also look much like a transport delay for some switching rates as the individual gates have sufficient time to reach their target voltages but it takes some time for information to work it's way down the chain.