By using experiments on micromodels and computer simulations, we have demonstrated the existence of three types of basic displacements when a non-wetting fluid invades a two-dimensional porous medium: capillary fingering when capillary forces are very strong compared to viscous forces, viscous fingering when a less viscous fluid is displacing a more viscous one, and stable displacement in the opposite case. These displacements are described by statistical models: invasion percolation, diffusion-limited aggregation (DLA) and anti-DLA. The domains of validity of the basic displacements are mapped onto the plane with axes Ca (capillary number) and M (viscosity ratio). The boundaries of these domains are calculated either by using theoretical laws describing transport properties of fractal patterns or by the interpretation of physical mechanisms at the pore scale. In addition, the prefactors that are not available from scaling theories are obtained by computer simulations on a network of capillaries, in which the flow equations are solved at each node.