How about "bloat". Something that doesn't need to be there, and it would be better if it wasn't, but it was typically added with some misguided "good intentions". Bloat.
This also applies to changing something. If it was perfect, and you changed it, and now it's not perfect anymore, then the work itself didn't need to happen, and was therefore bloat.
Most work is bloat. But we have tied continued existence to work (mostly -- we mistake work for value), so we've made infinite bloating appear mandatory.
As an aside, most of the human psychology (assumptions, beliefs etc.) is also bloat, and similarly benefits from debloating.
Interesting. By this definition, a poorly chosen algorithm is also "bloat", which doesn't seem right to me.
I see bloat mostly as "unnecessary dependencies." Things which, if you removed them, the product would improve.
e.g. importing a whole library for what could have been a simple function.
If something justifies its "weight", then it's not bloat. It's functional.
But there's also "feature bloat." If a feature or change doesn't need to exist, or makes things worse, then it's bloat. If you removed it, the project would improve.
This also applies to changing something. If it was perfect, and you changed it, and now it's not perfect anymore, then the work itself didn't need to happen, and was therefore bloat.
Most work is bloat. But we have tied continued existence to work (mostly -- we mistake work for value), so we've made infinite bloating appear mandatory.
As an aside, most of the human psychology (assumptions, beliefs etc.) is also bloat, and similarly benefits from debloating.