There isn't a "best" software for animation per say. I'm going to assume you're talking about 3D animations here, and if so these are the options that I know of.
1. Maya (Not-Free)
I've heard it's used a lot for animation/rigging. Though I personally haven't used it. Down side is it'll cost you a pretty penny.
2. Character Creator 3 by Reallusion (Not-Free)
This is less expensive than Maya, but it's still a hefty price in my opinion. Much easier to use from what I can tell, haven't used it personally.
3. Blender (Free)
The software I use and most familiar with. Has a lot of functionality regardless if you're animating or not, honestly there's just too much stuff you can do in this software. If you do settle on using this, NLA, dopesheet, timeline and drivers are what you want to take a look at first, then move onto addons that specificly help the workflow of animation. There are a few out there, paid and free alike.
At the end of the day, I'd say take a look at these and choose the one that fits your needs/wants and workflow.