Putting the "Cascade" in CSS

Order matters. The CSS rule that is "closest" to the tag wins unless a "further away" tag (i.e. border-color) marks itself as !important.

Even using the style attribute right on the tag fades in the face of the !important tag.

But you can always take local control using !important "closer" to the tag.

Use !important sparingly. We tend to use it when we have a stylesheet provided by someone that we are using and cannot change. Sometimes it is compensating for a markup problem and it is bets to solve things without resorting to !important if possible.