Sure, there are such a thing as real deadlines. Regulatory deadlines are one example. Contractual deadlines with penalty clauses can be another.
But, the type of deadline you point out (we said we'd give them $STUFF by $DATE for $PRICE) is often flexible, if not artificial. For instance, maybe you can work out a schedule where by $DATE, you deliver $SUBSET_OF_STUFF for $LOWER_PRICE, while continuing to build out features to satisfy the original request, ending up delivering $STUFF for $PRICE.
Admittedly, this can be tricky. But, it can be done. I've done it before. Once a client has already agreed to a deal, they're generally inclined to stay with you, provided you're working in good faith with them. This can be somewhat of a sunk cost mentality, but it doesn't really matter as long as you're not taking advantage of that to soak them for cash.
I guess the moral of the story is that any contract is amendable and re-negotiable, if you approach it right. If it's not possible to deliver by $DATE without killing yourself and your team, then it's time to consider re-negotiating. And, as you said, in the real world, delays happen; clients may be willing to accept some small delays.
Even regulatory deadlines can sometimes be a little flexible, but that's a whole higher level of negotiation, and government agencies sometimes don't have the discretion to delay enforcement of new regulations, or the incentive to work with you to get you into compliance. In that case, the choice comes down to either a one-time push to deliver what's needed (and, you should be explicit that it is a one-time push), or temporarily eating the fines while delivering on a realistic schedule. I've never been in this type of situation, but I have dealt with government agencies before, and it can be a pain.