Use !important
very, VERY sparingly -- it overrides just about everything, including even the user's custom style sheet if there is one. If he has stuff set to really-really-big because he can't see well, and you've decided it's so !important
that your words be exactly 10 pixels high because.... well.... arrogance would be the only reason i can come up with. Anyway, now the user can't read anything on your site.
Aside from that, if you use it everywhere, then you end up in the same situations you'd be in without it (difficulty in specifying elements specifically enough to override other styles), but you also don't have !important
anymore cause everything else is using it too.