Only one reason - if you want to have possibility to update template without worries. But if you want to remember about template.css and other .css files -- forget about override.css
Almost all template frameworks have this same "problems" so maybe build templates from scratch if you are tired.
Second problem, because css from modules are loaded under template files.
Unfortunately, sometimes you have to use !important - especially if you are using external - additional modules or components. And sometimes also our code is not perfect so (!important) may help. Check on front-page in which order css files are loaded it will help you understand why...
Hi, Is it wise to use !important on all the lines in override.css?
P.S. Since this is an old post and the link to Do's & Dont's in this forum page doesn't work so I couldn't find out that I could DO post reply in old posts or DON'T!