Cita: o que he deducido segun lo que he investigado es que al borrar registros van quedando espacios vacios por lo que puede generar diferencia de rendimiento, esto se arregla optimizando la base de datos. por el otro caso marcar registros como eliminado conlleva a tener mas registros inactivos y evitarte optimizar la BD.
Es una decisión de diseño, en cualquier caso, siempre es bueno hacer una optimización de la base regularmente para evitar degradación de la performance.
Si se recomienda solamente activar o desactivar con un campo ad-hoc, para el caso de que el dato sea parte de FK y se requiera cumplir con sus restricciones de clave foránea.