It may be easier for developers, but you have to admit that the need to download and track several mod dependencies is not user friendly
It ends up being easier for users too.
Without MCM for example, modders would have to add their own menu in game, on a separate button, until the game can no longer show them or maybe even crash. Less skilled modders would simply don't do it, use an obscure keyboard shortcut that could conflict with others, or ask users to modify text, xml or yaml files manually.
As for UIExtender and ButterLib, I'm pretty sure they were originally part of MCM. And while they might be a bit overkill, the philosophy is the same : "If you change any of the game standard
prefab .xml files you should use this library or similar approach in order to not overwrite changes to the same elements by other mods. You don't need to use this if you are adding a completely new screen or a menu item in the encounter overlay, since things like that are already handled correctly by the game API."
Harmony on the other hand is used by pretty much any mod doing some programming. Without a proper official API it's realistically the only way to alter most of the game's behaviors without necessarily overwriting changes by other mods. Mods include it in their archives, but that could theoretically become a problem if different version of Harmony are used since only the first one is loaded by the game, meaning that if other installed mods depends on a more recent version bad thing could happen, potentially silently. This is why ideally harmony should be loaded as a external mod, on top of the list, and be updated by the user, so that he knows what's going on.