The analysis of results from Critical Assessment of Predicted Interactions (CAPRI), the first community-wide experiment devoted to protein docking, shows that all successful methods consist of multiple stages. The methods belong to three classes: global methods based on fast Fourier transforms (FFTs) or geometric matching, medium-range Monte Carlo methods, and the restraint-guided High Ambiguity Driven biomolecular DOCKing (HADDOCK) program. Although these classes of methods require very different amounts of information in addition to the structures of component proteins, they all share the same four computational steps: firstly, simplified and/or rigid body search; secondly, selecting the region(s) of interest; thirdly, refinement of docked structures; and fourthly, selecting the best models. Although each method is optimal for a specific class of docking problems, combining computational steps from different methods can improve the reliability and accuracy of results.