From the developer guide:
The UTXO of a coinbase transaction has the special condition that it cannot be spent (used as an input) for at least 100 blocks. This temporarily prevents a miner from spending the transaction fees and block reward from a block that may later be determined to be stale (and therefore the coinbase transaction destroyed) after a block chain fork.
Can someone please explain why this constraint is necessary? I mean, how is the output of a coinbase transaction (plus block's transaction fees) different than the outputs of any other transaction?
Or, put differently, if coinbase transactions require a 100-block cooldown period, all other transactions do too, no?