I think what he's referring to is the "two steps forward, one step back" aspect, which isn't made clear in the docs. (I just checked the
2.2 version [httpd.apache.org] to see if they'd reworded it. Nope.)
That is: mod_rewrite
first looks at the Rule. If and only if the Rule potentially matches-- for example, if it applies to files ending in \.(jpe?g|gif|png) and the system has just received a request for a png-- mod_rewrite will backtrack and look at the Conditions.
That's why you should try really hard to avoid RewriteRules that apply generically to all files, as in ^.*? Even if the conditions only apply to one type of rare request (say, from User-Agent A arriving via Referer B), mod_rewrite has to go back and look at the Conditions
every single time a request comes through. That might be dozens of times for a single page.
Most Rules can safely be constrained to something like
(\.html|/)$
where mod_rewrite only checks Conditions if the request is for a page or directory. Humans don't normally ask for images, css files and so on; their browsers do that after seeing the page. Robots and hotlinkers can generally be excluded by other means.