Hi Danny,
Pre-filtering is really one of those things that there aren't great hard and fast rules for it. It is more a matter of how either how users are trained, or how you want to train them on using a specific report or report set. The only time that you must use pre-filtering is if you want a report to be able to run from a record form, like the Account Overview or from a list of records on a view.
Sounds like you already have a good handle on the pros and cons as far as using them for the Advanced Find like functionality, that decision is really more of a training preference than anything.
As far as how pre-filtering effects the underlying dataset, think of them as another filter criteria that is injected in. The exact method of how that is accomplished is covered out on the pre-filtering page but the best way to think of it is, they are just another addition to the "where" clause on your data set.
Best practice is to pick one method, one design methodology and just stick with it. Switching back and forth is going to be what causes more confusion for users than anything. My experience is that if you document and train it well, then the users will be ok but if they have to remember method A for this report and method B for this one and method C for the last...that's where you lose them.