Lots of sites have problems with too many filters for search. Most sites offer a basic and more advanced filter options - these need to be carefully researched to identify what the basic research criteria should be. Then you have to carefully design the filter to fit each criteria. There is something of an art to this.
I do think in general it is best to go for the list layout rather than a dialog. For one this gives the user the option to open and close accordians to customize the criteria to the those they are interested in.
One sector it might be worth looking at for ideas is job search sites. They typically have exactly this problem and deal with many many different types of user. One solution is to allow users to select the filters they want and show them as tags at the top... in effect allowing users to visualize their query. For instance Reed show the query items in orange at the top ... you can delete them at any point. They also do a good job of choosing the filter widgets for each criteria and showing where the data is (sensitivity information).

You can also make the filters the focus of the page and fun - like I did in this early stage design idea:

This is the initial search page after the user has selected "Advanced search" - simpler filters and buttons were shown on the results page in a left nav for further what if fiddling. Sketch done in Balsamiq Mockups