The comments to date on implicit solutions relate only to the simplest systems of equations. In more mathematically challenging hyperbolic problems such as fluid dynamics, implicit solutions are no longer unconditionally stable.
Stability fundamentally relates to the propagation of waves of information through the solution. Dynamic waves result from a balance between gravity and inertia, while kinematic waves result from a balance between gravity and resistance.
1. Where kinematic waves travel faster than dynamic waves, the problems will be inherently unstable at microscopic level (hydrodynamic instability). Under these conditions both implicit and explicit solutions have been shown to be unstable.
2. Otherwise numerical stability depends on the relative scales of the control element chosen for analyis. In the most general case this is a 4-dimensional finite hypervolume or CELL, following the locus of a finite volume over a finite lifetime. The distance travelled by a wave during the control element lifetime then relates to a spatial dimension of the CELL by a ratio known as the Courant Number.
3. Boundary conditions can be viewed relativistically as a timewise extension of initial conditions. This means that the spacewise direction in which the equations are solved becomes important.
4. Explicit solutions for each CELL use information only from within that CELL. This means they are stable only for Courant Numbers <1.
5. Implicit solutions solve simultaneously for groups of CELLS, so they are generally still stable for Courant Numbers >1. However they may be unstable at low Courant Numbers if they are solved in the wrong direction from the boundaries.
6. Stability is no guarantee of accuracy, which depends on a balance of influence between boundary and initial conditions, reached at Courant Number = 1. Here both explicit and implicit schemes are generally most accurate.
7. However there are as many Courant Numbers as there are wave types and spatial dimensions, so solution schemes which perform well over a range of Courant Numbers are needed. Here implicit solutions are much to be preferred, especially as they can also be coded to run far faster than explicit solutions.