As I was reading this: http://www.reddit.com/r/learnprogramming/comments/39tiif/how_modular_should_my_code_be_even_if_i_dont_plan/ I realized many people finds fault with existing paradigms.
As a newbie myself, I've not questioned their existence, but there's too many occasions where I see people complaining about stuff's that's supposed to be solutions.
Like in the above post people complained about MVC, something which I always thought is supposed to be a good practice and if it's screwed up, there's probably something wrong with your code.
Many people swore by Angular.js in its early days, but ironically, people are moving to React.js which many discarded as being a poor architure in its early days.
The reasons why there are like inifite amount of tools, shows that the problems people face, come in all sorts of shapes and sizes. We know there's no magic solution that fits every situation, but we try to follow best practices.
What if the so called best practice is in the way?
Then again, it's probably better to follow a standard than not, especially for beginners.