Like it or not, this may someday save your life. Knowing how and why certain rules take precedence over others is the bread and butter of CSS, and also why it can be such a pain to master. This article lays it really well and explains how the points system works. Hopefully you’ll never see a need for “!important” ever again after reading and understanding this.
http://www.vanseodesign.com/css/css-specificity-inheritance-cascaade/