Since everybody else (so far) is arguing for the button for multiple input parameters, let me pitch dynamic updating.
We've all seen how Google search starts to return results even while you are still typing, and I think most of us have had the experience of using those early results to refine the search. (Also the predictive query, of course.) So there exist conditions under which users benefit from early results, but we have to figure out whether (1) your case is one of those and (2) if so how do you do it non-invasively?
(1) is a question for your user analysis. We can't answer that without more information. So let's look at (2). The key point is that the reload/changing content does not interfere with the query you are making. If reacting to a change in the drop-down (or a checkbox, or whatever else you have) would require the entire page, including the query parameters, to be reloaded, then that is likely to annoy your users. But if you can implement it such that the query experience is uninterrupted while current results are updated, and if your user analysis shows that users could benefit from the early information, I think you should consider it.
A "search" button is well-understood and, with multiple parameters, I don't think the extra click is going to be too expensive. There's nothing wrong with using the button; I'm just suggesting that you might, depending on the specifics of your situation, be able to do something better for your users.