DrDoc - 10:49 pm on Jun 12, 2013 (gmt 0)
Main reason -- caching.
I always set up my CSS to handle ALL elements I MAY use (address, blockquote, code, h1-h6, tt, etc.).
I also always set up my CSS to handle basic common scenarios, classes, that can be applied to any element (float: left/right, clear: left/right/both, text-align: left/center/right, margin: 0 auto).
It's much "cheaper" to have all your basics covered than to add them later.
As to the original question -- 250 lines is nothing. I have a site where my "optimized" stylesheet weighs in just under 1000 lines.
If you name things right, and if you design your CSS with inheritance in mind, you'll know whether something is used or not. Certainly, if you re-style (or remove) a particular element/section/widget -- remove unnecessary rules then as needed. Otherwise there should be very little reason (except complete redesign) to revisit and "prune".