Except in cases where the constraints may be violated and it just inserts the next nearest thing.
Or the times where the transaction isolation just abruptly ends and commits your transaction midway; leaving no chance of a rollback.
Or when you alter a column to a new type and the cast doesn’t work in a few cases and just leaves corrupted garbage on every row.
Or when the replication misses a few transactions and your replica now looks different to your primary.
(These aren’t hypothetical, these are things I’ve seen)