What is a soliton?

In the general sense of the word, it is any type of solitary
wave that keeps it shape, even when it collides/interacts with other solitons.
Some famous examples of solitons come from the Korteweg-de Vries (KdV) equation

( the first equation discovered to have soliton solutions )
and the
sine-Gordon equation.

(Here we are using the notation that a subscript is a partial derivative with respect to the subscripted variable.)
The sine-Gordon equation has two different types of
solitons, kink-antikink and "breathers." The kink-antikink just look like two
normal solitons moving away from each other in opposite directions, but the
breather was given that name because it stays in one place, but it's shape is
periodic in time, i.e. it "breathes." The Maxwell-Bloch equations arise in
atomic physics and also exhibit soliton solutions. Here is a Maxwell-Bloch
breather soliton, which moves as well as breathes:

This plot is the envelope of the electric field, assuming a Lorentzian distribution of frequencies and one pair of complex conjugate bound states.
This animation was made with Mathematica 5.

Another nonlinear partial differential equation that exhibits soliton solutions is the Second Harmonic Generation (SHG) equations, given
in it's usual canonical form

where q1 is envelope of the electric field of the fundamental and q2 is the envelope of the second harmonic.
.
The equations are in one sense extremely simple, having only an quadratic nonlinearity, but they have only more recently been fully understood [1] partly because SHG solitons never asymptotically vanish. This is because as long as the fundamental q1 is nonzero, the interaction with q2 never "shuts off" or reaches a steady state. Also, there is the fact that the SHG equations are a degenerate case of the Three Wave Resonant Interaction equation (3WRI), when two of the waves propagate along the same characteristic, which basically means they become indistinguishable from each other.

Here is an avi generated with Matlab 7 for the soltion described in Figure 2 of [1]