With its roots in kinetic theory and the cellular automaton concept, the lattice-Boltzmann (LB) equation can be used to obtain continuum flow quantities from simple and local update rules based on particle interactions. The simplicity of formulation and its versatility explain the rapid expansion of the LB method to applications in complex and multiscale flows. We review many significant developments over the past decade with specific examples. Some of the most active developments include the entropic LB method and the application of the LB method to turbulent flow, multiphase flow, and deformable particle and fiber suspensions. Hybrid methods based on the combination of the Eulerian lattice with a Lagrangian grid system for the simulation of moving deformable boundaries show promise for more efficient applications to a broader class of problems. We also discuss higher-order boundary conditions and the simulation of microchannel flow with finite Knudsen number. Additionally, the remarkable scalability of the LB method for parallel processing is shown with examples. Teraflop simulations with the LB method are routine, and there is no doubt that this method will be one of the first candidates for petaflop computational fluid dynamics in the near future.