削除フラグを使うか別の方法にするかの判断は1つしか無いと思います。
それは「後からデータを参照・復元する可能性がどの程度あるか?」です。

会員サービスなど不特定多数が触るシステムの場合は、
うっかりさんが多い可能性があるので、安易に物理削除は面倒になるかもしれません。

逆に社員管理や商品管理など自社内で操作する場合は、
自分たちがルールを守ればいいだけだから、>>5の方法が有効だと思われます。
あとは要件次第で設計を変更したりつけたりたりしていけばいいかと。