I'm actually wanting to dabble in animation myself just for fun, but when more or less the same question as yours was asked in the "budget flash animator" thread nobody had an answer. So I have been investigating my options on my own and I'll repeat here what I posted in that other thread....
Ignoring open source for the moment, your cheapest options are Toon Boom Studio and Anime Studio. Of the two, Toon Boom is more professional and is easier to use if you're already used to creating flash animations in Adobe Flash. But it is also the more expensive of the two. Both programs are able to make Flash animation, Quicktime movies, and other file types at high quality.
There are a few free open source animation options I know that are very impressive but they are extremely difficult to use because they come with no help manual and such. They also are relatively more buggy than commercial software. These difficult to use open source alternatives include Synfig, jahshaka, and Ktoon. They're definitely programs to keep an eye on in the distant future as they (hopefully) improve.
If anyone has any firsthand experience with Toon Boom or Anime Studio, please post here on Macworld! I'm holding off on buying either until they're released as a universal binary, so even though I've enjoyed the Toon Boom demo I definitely want to hear more reviews by others to help me decide between the two.
I played with Pencil for a few hours, and I was both impressed and a wee bit frustrated.
I was impressed because the vector drawing is better than I expected, creating animation is simple, onion skinning is provided, and in general the capabilities are good at the price (free).
I was a little frustrated because vector art isn't easily tweakable, there is no "tweening" to automatically generate in-between frames, the paintbucket fill option occasionally needs you to close dubious "gaps" before it can fill an area with paint, and the color palette is limited.
My overall view would be that it is the simplest (in a good way) animation program I've played around with and has great potential. Definitely worth playing around with at this point for those, like me, who like to dabble in different art forms. It also might be a good trainer to see if you have a knack for animation before buying more expensive professional software.
C++
