Here's surprising way to make 2D animations: By using Blender 3D.
http://mmm.albinal.com/2d-in-blender-2-6-tutorial-part-1/http://mmm.albinal.com/2d-in-blender-2-6-tutorial-part-2/Now, you ask, why would you want to use Blender for this?
Here's some reasons:
1. It's free and open source (like Gimp)
2. It is very powerful, meaning there are less limitations than in simplest commercial animation packages
3. It's available in several OSes: Windows, Linux, Mac, etc...
I'm going to try 2D later, but now I'm doing 3D first (with Blender of course).
(Some warning, though, getting used to Blender might require a little patience, but so does any software worth it's salt...)