Within the field of nanotechnology, nanoparticles are one of the most prominent and promising candidates for technological applications. Self-assembly of nanoparticles has been identified as an important process where the building blocks spontaneously organize into ordered structures by thermodynamic and other constraints. However, in order to successfully exploit nanoparticle self-assembly in technological applications and to ensure efficient scale-up, a high level of direction and control is required. The present review critically investigates to what extent self-assembly can be directed, enhanced, or controlled by either changing the energy or entropy landscapes, using templates or applying external fields.