The scriptability of Blender has been a big draw for me. It's pretty deeply integrated with Python. One can even use it as an interactive 3D front-end for a substantial Python script. That is, let the script create and manipulate the objects, and just use Blender to view what is happening. In Blender 2.4 it was possible to keep a script continuously animating the scene, something I found tough to make happen after the 2.5 overhaul.
Blender 2.4 also let scripts create UI components, such as entire control panels to influence the running script. The last time I checked in 2.5, this was either not possible or not well documented. But I'm not up to date on this.
I'm also not familiar for comparison with the scriptability of Maya or other tools.
Maya has multiple scripting facilities. It has its native language, MEL, but for a long time it has also supported Python scripts, more recently with a new API. In fact, much of its GUI is built using scripts that come with it.
There is some lack of consistency between the different approaches, not just in the languages but in the presentation of the underlying data model, which isn't always helpful. Still, as a guy with a programming background, I actually found it easier to figure out how Maya works by playing with scripts and the underlying object model than by experimenting with the user interface. :-)
Blender 2.4 also let scripts create UI components, such as entire control panels to influence the running script. The last time I checked in 2.5, this was either not possible or not well documented. But I'm not up to date on this.
I'm also not familiar for comparison with the scriptability of Maya or other tools.