De Wans original tutorial on Hints for Quake is probably the best I have ever seen, but I can't seem to find it anymore. However, here is something people seem not to mention when talking about Hint Brushes.
When the engine divides the map into BSP leafs to assemble the Potentially Visible Set or PVS (as discussed in the VERC tutorial), it doesn't do it exactly the same way everytime you compile.
Sometimes adding a hint brush can be worse, than re-compiling and trying to get a different result. However this tends to lead to r_speed madness, where you are chasing a single wpoly reduction for the sake of a few days work.
What you really want to achieve is drastic reduction, and the best way to do that is through initial design.
When building a map... always keep in the back of your mind, what can I see when I stand here, and what will the engine see?
There is no surefire answer, but the tutorials that Tlax has linked is a really great start to understanding how it all works.