Back in the good ol' days of Unix utilities printed as little information to the screen as possible. Usually a utility was totally quiet if it ran successfully. Just look at the cp, rm or even rpm commands. In the old days this was done primarily because Unix boxes were often connected to terminals via slow serial connections. And the design concept was to save as much terminal bandwidth as possible. I guess I've grown accustomed to this traditional Unix philosophy and therefore become annoyed by the increasing number of "modern" utilities that do not abide by it.
A good example of one of these "noisy" utilities is Gentoo's emerge utility. By far the most annoying "feature" is the spinner. In my opinion spinners should only be used in web browsers and X cursors (if there). Definitely not in command-line utilities and definitely not by default. There is, of course, the --nospinner flag, but this should rather be renamed as --replace-annoying-spinner-with-annoying-dots.
There is, of course the --quiet flag. In my previous experience --quiet seemed to be only useful when used with emerge --sync (ironically, adding --quiet to PORTAGE_RSYNC_OPTS does not work. But now it appears that --quiet does work to suppress some other forms out output, for example error messages which is what one usually does not want to be suppressed. If your portage tree, for example, has inconsistent digest files and you attempt to emerge --quiet a package, emerge will silently fail to install the package. You have to figure out it did this, and then re-emerge without the --quiet flag to actually see what the error was. How annoying is that?! This isn't nit-picking. Errors should never be silenced unless done so by explicitly redirecting stderr. That's one Unix design concept that should never be broken.
A desirable feature for emerge would be something like, for example rm -i. emerge has a similar --ask flag and I find it very useful. If you use it with the --verbose flag you even get to see what USE flags are in effect for a given package. But, understandably, you can't use the --verbose and --quiet flags simultaneously and so if you want to see the USE flags you must also put up with the spinner.
emerge also, by default, spits out copious amounts of messages regarding patches being applied, files being installed/removed, tests being applied, QA and debug messages, etc. These, in my opinion, are more appropriately left silent unless a --verbose or even --debug flag was passed. It could benefit from Python's logging utility which gives the user/programmer a lot of flexibility over what gets printed (and where). Of course all this output scrolls by, and users either cannot or choose not to read them. Meanwhile, important einfo strings get lost in the print storm. This is not only annoying, it's downright frustrating.
Surprisingly, things like this are not solely emerge issues. There are other "new style" utilities with the same behavior: by default the stdout pipe is connected to the kitchen sink and then they try to make up for it by providing a --quiet convenience flag, but this flag many times suppresses errors. This seems to be a sign of the times. Maybe I'm just old fashioned.