Физический смысл.
Запсись БД делается, грубо говоря, в файл. Если запись физически из файла удалить, нужно произвести операцию по усечению файла и его перезаписи, что на многих файловых системах и СУБД — ресурсозатратная (и опасная — вдруг сбой?) операция, поэтому ее стараются избегать. Плюс часто при перезаписи (оптимизации) БД становится недоступна совсем или для некоторых операций, что тоже нехорошо. Отсюда пошла практика пометок «удаленными». Решайте сами, исходя из задачи и необходимости.
Встречал как-то альтерантивный вариант: периодический слив БД в дамп без «помеченных» записей и замена им старой БД. Благодаря тому, что чтение дампа происходило без остановки работы, а заливка нового была достаточно быстрой, решение жило и было приемлемым. Побочный продукт — бекапы.