Over the last two decades, lattice Boltzmann methods have become an increasingly popular tool to compute the flow in complex geometries such as porous media. In addition to single phase simulations allowing, for example, a precise quantification of the permeability of a porous sample, a number of extensions to the lattice Boltzmann method are available which allow to study multiphase and multicomponent flows on a pore scale level. In this article, we give an extensive overview on a number of these diffuse interface models and discuss their advantages and disadvantages. Furthermore, we shortly report on multiphase flows containing solid particles, as well as implementation details and optimization issues.