Great portion of developers aren't "bored", they are bad, so they do everything as they go, without optimizing, without planning, etc. When they try using different things outside of their limited knowledge base, they screw up even harder. Creating the unnecessary complexity you talk about.
I find refactoring/optimization to be a necessity and even tho my boss probably won't ever know I optimized X, I know I did it, and I will keep doing it. It's how you grow as a developer, specially in CRUD companies that do not care.
And keep in mind, most developers don't want to get out of the CRUD. And they are very happy with a good paying CRUD job.
Keep your pulse on new technologies, and write your own to expand your expertise. But don't use the wrong tool for the job out of boredom.
As @trustfundbaby says, you can apply new techs sensibly and that's what you should do, without the extremes.
And guess what? You could actually learn something from someone else!