A lot of the problem is that we have alleged "experts" who have a complete lack of understanding of the basics, and people calling themselves developers when ALL they know how to do is ^C^V. It truly seems the majority of dev's right now just blindly copy the work of others without understanding a line of it... and that's how we end up with things like front-end frameworks where the people who CREATED them aren't even qualified to use the underlying languages!
This leads to the solution to every problem no matter how minor being "just throw more code at it", violating one of the most basic principles of programming.
"The less code you use, the less there is to break"
Or as Tony Hoare put it:
"There are two methods in software design. One is to make the program so simple, there are obviously no errors. The other is to make it so complicated, there are no obvious errors."