In this paper I analyse the main strengths and weaknesses of agent-based computational models. I first describe how agent-based simulations can complement more traditional modelling techniques. Then, I rationalise the main theoretical critiques against the use of simulation, which point to the following problematic areas: (i) interpretation of the simulation dynamics, (ii) estimation of the simulation model, and (iii) generalisation of the results. I show that there exist solutions for all these issues. Along the way, I clarify some confounding differences in terminology between the computer science and the economic literature.