The main reason you might want to make soft-delete is because it requires an audit trail. For example, we might have an invoice table along with an invalid column, and we could just simply omit the invalid invoices. This saves an audit trail so that we know which accounts were entered and which were canceled.
There are many fields (especially in finance) where soft deletions are preferred for this reason. Typically, the number of deletions is small compared to the data set, and you don’t really want to delete, because in fact it can allow someone to cover for the theft of money or goods of the real world. Then the “deleted” data can be shown for those requests that require it.
A good non-db example would look like this: "When you write in your general journal or in the general ledger, write with a pen, and if you make a mistake that you immediately notice, cross it out with one line so that the original data is still legible and write down the correct values are below. If you find out later, either write the settings in the record, or write in the reverse and new. " In this case, your main reason is to see what has been changed when you can check for these changes if there are any questions.
People who usually need to see such information are more likely to be financial or other auditors.
source share