Advantages of using Python in Blender for Animation?
Python is useful in three ways:


Scripting and addons
Drivers
The Game Engine


Scripting and addons:

Python allows you to automate actions with blenders existing tools to speed up workflow and add functionality that would be (practically speaking) impossible to do manually.

Here are some nice examples of what can be done with python addons:


Molecular simulation


Drivers:

Drivers can be used to set properties from other properties, e.g. a python function, the location of an object, or another setting.

This can be very useful for animation, among other things/

From the wiki:


  Drivers can use properties, numbers, transformations, and scripts, to control the values of properties. 


Here are some nice examples of what can be done with drivers:


Dynamic frosting
Randomly tweaking settings


Game Engine:

Python can be used in the game engine to control the behavior of objects (e.g. AI), the way the view looks (e.g. custom shaders), and interactions with the user (e.g. menus).

Here are some nice examples of the BGE in action:


Building demo
Water shader
Racing game