Sure, you could say that `ls -t` should be `ls | sort --time`, and if command output was structured rather than just text, and standardized, that would work and be easy to implement in a cross-tool manner. But now we have `sort --time`, which is also an option that you say shouldn't exist. So now what? `ls | timesort` and `ls | sizesort`? That's just silly.
Ok, how about something that doesn't affect how the output is presented, but what output is presented. Most of the time I just want `ls`, but sometimes I want to see dotfiles, so I have `ls -a`. How do we fix that? `ls` and `lshidden`? Again: silly. Do we just say "dotfiles are stupid; we shouldn't have this artificial concept of hidden files"? No, that's silly too.
I get that your follow-up post softens the absolutism with "far too often", but your original post did assert that "every" command line option is a bug, and I'm tired of this "options are bad" argument. Overall I would rather have the option to change behavior than not. Take those options away, and we get complaints that the maintainers are dumbing things down and removing choice.
It's really a no-win situation: either your software is bloated, or it's not flexible enough. Few people agree on where the happy medium is. Discussions about this are, IMO, just tiring and pointless, and are some of the worst forms of bike-shedding. The only reason a potentially-useful option should be removed (or not added in the first place) is if the option creates a maintenance burden that the maintainer is not comfortable taking on.