There are many types of staffing firms, with many types of specialties. The first step is to identify a firm that understands the search you need done. You don't go to a general family doctor for brain surgery. This can apply to staffing as well. Strong, well run firms have recruiters who specialize in specific skill set searches and have a black book of candidates in that field that they can ping.
Step two is to identify how hard your search is and what effort level an agency will put into it. Contingency firms get paid only if a hire is made. In essence they work for free up until a hire. With this in mind, their objective is to work with a client they feel will hire from them. If a client has many firms already working a position, or the job is very technical and very specific, or the client is incredibly picky and rejects candidates quickly a contingency firm will not put much effort into filling that requisition. They would go out of business working on those sorts of jobs. They are however fairly negotiable in rates and will work cheaper than other recruiters.
Retained recruiters get paid no matter what happens. As such, they can dig into a position, spend time on it and find the hard to find gems. They are more expensive, but they can focus better since they know they will be paid. If you go this route, good to check references to see how good they were at coming through with strong candidates.
If you have found a list of recruiting firms specializing in the skill you need found, and determined how you want to pay for the search (retained or contingency), you have now narrowed down the agencies to the best fit for you. The final step is to talk to a few past clients and you will have the best staffing agency available for your search.