I started adding comments to Victor's answer, but they finally outgrew to this:

From an elementary point of view, the energy is conserved, and also the angular momentum vector $L$ (measured with respect to an inertial frame).

From a Lagrangian-mechanics-on-manifolds point of view, we have to solve a problem of movement in $SO_3$, that can be parametrized using Euler angles. Since there is only kinetic energy (no potential), it is equivalent to a problem of geodesic flow in a Riemannian manifold, and affine reparametrizations of solutions will again be solutions. This simply means that every solution can be sped up at wish.

Only the first angle in the composition will be a cyclic coordinate, but this is an artifact of the parametrization, since we see that there is $SO_3$ symmetry, i.e., the whole "position component" should be cyclic, and we would expect to reduce the second order o.d.e. on "position" to a (first order) problem on "speed".

(Is this intuition correct? Can it be done in other problems?)

To do this, we go to the frame of reference of the body. We try to find the motion of the angular speed vector $\omega$ with respect to it . This is a first order three dimensional problem, governed by the Euler equations
$I_1\dot\omega_1=(I_2-I_3)\omega_2\omega_3$ (1)

$I_2\dot\omega_2=(I_3-I_1)\omega_3\omega_1$ (2)

$I_3\dot\omega_3=(I_1-I_2)\omega_1\omega_2$ (3),

which are expressed in principal axes coordinates.

(I understand this way of changing reference frames as an abuse of notation: the two reference frames $body$ and $space$ are different (Euclidean) spaces (even before coordinatizing them), and they are related by an isometry $body\to space$ (the attitude of the body) that changes with time (according to a function that we are trying to find). So every vector is two vectors: we actually have two angular speed vectors $\omega_{space}$ and $\omega_{body}$. This is relevant when we derivate them with respect to time. For example, $L_{space}$ is constant but $L_{body}$ isn't. This idea is simply a coordinate-free formalization of the notion of measuring speed "with respect to a reference frame".)

We can also express the problem in terms of the angular moment vector $L$, which is linearly equivalent to $\omega$ via the equation $L=I\omega$. I will switch between both versions when convenient.

Using the conservation of energy $2E=\langle\omega,I\omega\rangle$, we see the movement is constrained to an ellipsoid. So we have a two dimensional first order problem. You can search "Poinsot ellipsoid" in Google Images to see it with the flow lines drawn on it. The only equilibrium points are (from looking at the Euler equations) at the principal axes of the ellipsoid, which are the lines along which uniform rotation is possible.

Assuming $I_1>I_2>I_3$ we find only six equilibrium points, for example: $(\sqrt{2E/I_1},0,0)$. Near it we can express $\omega_1=\sqrt{(2E-I_2\omega_2^2-I_3\omega_3^2)/I_1}$ and write the second and third Euler equations for $\omega_2$ and $\omega_3$. Linearizing at $(0,0)$ we get

$I_2\dot\omega_2=(I_3-I_1)\sqrt{2E/I_1}\omega_3$ (2')

$I_3\dot\omega_3=(I_1-I_2)\sqrt{2E/I_1}\omega_2$ (3')

and since $I_3-I_1<0$ and $I_1-I_2>0$, we get imaginary eigenvalues, which means the equilibrium point is possibly neutrally stable. We confirm that the trajectories around it are closed by observing the reflection symmetry $(\omega_2,\omega_3)\to(-\omega_2,\omega_3)$. This happens at the equilibriums associated to the smallest moment of inertia $I_3$. At $(0,\sqrt{2E/I_2},0,0)$ we have two real opposite eigenvalues, which means the equilibrium point is unstable. We can determine the topology of the flow lines completely by analyzing the signs in the Euler equation in each octant, but it is easier to use another constant of movement.

The length of $L$ is constant, so the trajectory will be the intersection of the Poinsot ellipsoid with a sphere (or with an ellipsoid having the same principal axes, to phrase everything in terms of $\omega$ instead of $L$, but what follows is most clearly seen in the $L$ picture).

If the sphere is smallest, we get a pair of opposite points on the first axis.

If the sphere is small, we get a pair of closed curves around the first axis.

If the sphere is large, we get a pair of closed curves around the third axis.

If the sphere is largest, we get a pair of points on the third axis.

The middle case, corresponding to a medium sphere, contains the equilibrium points of the second axis (lets call them $A$ and $B$), joined by four curves (lets call them special). Each special curve is topologically equivalent to an open interval, and travel along it requires infinite time (since from unicity of solutions, we can't expect to reach an equilibrium point in finite time).

If we attempt to make a body rotate along an unstable axis in practice, we will miss, and obtain a closed curve around the first or third axis that will pass periodically near $A$ and $B$. Since motion near an equilibrium point is slow, the curve will spend most time near them, and will be similar to a pair of special curves. If we speed this up by giving a high initial energy, we get this periodic, almost instantaneous switch from $A$ to $B$.

With respect to an inertial frame, since $L_{space}$ is constant, we see that the body always rotates in the same direction, switching its position to the opposite after a period $T$. The movement is quasi-periodic: after time $T$, the movement restarts but with a possible angular shift around the $L_{space}$ axis (whose magnitude is always the same for a certain trajectory and can't be calculated easily (as far as I know)).

self-sufficientanswer explaining this wonderful phenomenon! – Suvrit Nov 27 '11 at 12:21