There are lots of free programs for frame-by-frame animation (for that, I use GIMP), the difficulty is finding something for computer enhanced animation (luckily, I found CreaToon). I don't know anything about payable programs, sorry.
Toon Boom is the best. Harmony and Pro cost a fortune, but Toon Boom studio is very affordable (149$), and a gazillion times better than both Flash and Anime Studio. They also got Flip Boom, which is simple to use and works ok. 35$, but be prepared for a upgrade if you want to do something a bit more professional (in the weeks of work range).
I do contact work at a studio (iStation in Dallas, TX) that does some 2d animation and the program that we use is Toon Boom harmony. Its not cheap though, but it is arguably the best and the industry standard. Most of the prime time animation you see( Family Guy, Adventure Time, Regular Show, etc) Use Toon Boom, along with most major Disney films. If you want a career in 2d animation, invest in that and learn how to use it. I would however recommend learning 3d animation as well, because that is where the industry is focused mostly. Most 2d animation is outsourced unfortunately and it would be damn near impossible to get a job in that field unless you live in Canada or Korea or maybe France. You can practice on Toon Boom by downloading a personal learning edition for free(They put a big watermark over your renders) and there are a TON of great tutorials on their site, give it a shot! If you get good at animation what you learn in 2d will translate to 3d, they are more alike than you think. Have you looked into Animation Mentor? One of our animators got his job from what he learned there.