I guess loaded derogatory terms are somehow worse than otherwise worse-sounding terms. Think about it in the context of e.g. the n-word. “A piece of shit”, while sounding very bad: 1. is generic, can be applied to anything thus has no discrimination component, and 2. ends there. It has no history, no reference to previous usage, etc.
I guess. I'm not sure if it's the exception, but for example "rust bucket" is mostly used against old vehicles.
Now I'm laying here, wondering if it's bad to be discriminating against objects.