You can optionally avoid the !important with media queries or some selector-fu
CSS селекторы читаются справа налево
Чтобы определить, нужно ли применять правило к некоторому элементу, селектор читается браузером справа налево.
Если у вас есть, скажем, правило div#content p { color: #003366; }, тогда для каждого элемента, в момент его обработки браузером, сначала будет проверяться, является ли элемент параграфом. Если он является таковым, тогда браузер пойдёт вверх по DOM дереву и проверит, есть ли div с id="content". Если условие верно, тогда браузер продолжит поиск body.
Такой принцип работы выбран не случайно. Браузер определяет стоит ли применять стилевое правило к элементу на момент прорисовки значительно быстрее. Чем меньше узлов нужно обойти, тем быстрее обрабатывается правило.
Все зависит от задачи. Я написал: боитесь? экономите? уверены, что изменений в правилах не будет или они не критичны? Уверены, что если пользователи ошибутся, наделают ошибок, их нужные данные затрутся - это не принесет серьезного ущерба? Фильтруйте сразу.
Хотите гибкости? Оставляйте как есть, потом решите.
Ну а дальше уже конкретика. Например, если у вас контент редко создается, но часто отображается и производительность критична, то, может быть, выгоднее один раз отфильтровать, что б потом не дергаться.
Если у вас один и тот же контент должен отображаться по-разному (в полном виде для админа и безопасном для юзера) - то тут никуда не денешься... и т.д.