Vanilla servers are completely fine for some servers. Anyway, they do not suit the needs of everyone.
Of course you can do a LOT with vanilla meanwhile - but there is a huge difference between installing a plugin and creating thousands of command blocks for a specific purpose. I do not only mean the difficulty between both of these options. Huge amounts of redstone usually cause WAY higher CPU load than just a plugin. Besides that, plugins always give you more possibilities than pure redstone and other vanilla mechanics (adding commands for example).
Another important thing is that there is an enormous difference in the complexity of programming a plugin compared to making the same things in vanilla minecraft.
A plugin that consists of only 50 lines of code might require the same (if not higher) amount of command blocks in vanilla.
Another aspect why vanilla might not always be good is because you cannot prevent people from using hacked clients. For Bukkit, you can simply install NoCheatPlus and you don't have to worry about many hacks anymore.
Yes, 1.9 will for sure break a lot of things but we plugin developers will find a way around it.
Another fact is that most vanilla servers are very poorly maintained and mostly have extremely inexperienced owners.
There are advantages and disadvantages in each, modded and vanilla servers.