And newer versions of Android have notification categories for each app.
So if the developer does their homework I can turn off particular notification types and let others through, and that way you can -gasp!- actually have a messaging app that only notifies you of actual messages, instead of constantly begging for your attention for a bunch of superfluous crap.

And if I go to the notification settings for that app and it doesn't have a category I can easily drop, it either gets completely silenced, or it gets uninstalled.
This is the bit that bugs me. I spend a bit of time to create a relatively simple application in C# with it, and it's constantly tacking on new features and four extra command line arguments and it's frothing at the mouth to add Cool Feature X, "just say the word and I'll do it".
Just do what I asked. No more. That's enough. There's enough mangled code and logic errors lurking in there already, I don't need any more "features" clouding the water.