I have to be honest, I’ve never understood part of “soft” deletes that makes it a good idea. You know the basic gist, labeling an action “delete”, and removing it from display, but behind the scenes all you’re really doing is flipping a bit somewhere to tell your application to never show this thing again, as opposed to actually removing it. I suppose it makes sense for when you absolutely, positively, need to retain data (auditing purposes, court orders, etc.), but as far as a general practices go, “delete” should mean “delete”, not “please just don’t show it to me again”.
For everything we’ve learned about how to make good software, there’s still some pretty glaring failures out in the world that aren’t so much technical failures as they are somebody either choosing to make a bad feature that they should know better than to do, or just not fixing something that people should have realized was a bad idea and fixed long ago. Regardless, here’s a list of things that should be left to die out in the name of making the planet a better place to live.