The discrete dipole approximation (DDA) is a general method to simulate light scattering by arbitrary particles. This talk reviews the DDA with focus on its application to very large particle systems, typically consisting of large numbers of particles with sizes comparable to or larger than the wavelength. Overall, the DDA is a viable option for such problems - it is conceptually simple, can naturally handle arbitrary inhomogeneous particles, and benefits from the availability of open-source codes. However, the major limitation is the computational complexity rapidly increasing with the size of the system. A few ideas to alleviate this issue are discussed, including the fast multipole method and the multi-grid DDA. While the DDA is equally applicable to both connected and disconnected particle systems, when applied to the latter it provides some insights into the notion of multiple scattering.