Why give the possibility to the user of deleting a customer, in that situation? Having orders pointing to inexistant customers sounds rough.
There's also GDRP, they can register persons as a customer and get requested to delete data, so they need to have the ability to actually delete.
But mostly the reason is legacy. Just quicker and easier to delete from database than implement a decent soft-delete.