With version 6.5, adobe has really enhanced the power of scripting. Up to now (and this is what scripting seemed to be limited to), scripting was only really used to automate things you did at the final stage of your workflow : rendering.
Today scripting allows you to do much more than that. It can act on various elements of the application (Project Window, Comps, Layers, Lights, Cameras, Guide Layers, Markers,...) and can even create some of these elements in a certain order, position, ...
Some examples of what scripting can do is : create a solid, of a certain color and size, and position it at a certain location of the comp, with a marker that gives some info on the solid. It can create a text and have you specify what you want your text to say. It can create a light with certain values, a camera with certain values, ...
This is the simple stuff, and you may wonder what the point is if you can just create a solid using cmd/ctrl - y and then scale it down with one mouse drag.
And why create a text layer with a specific text in it? Would you be using that script a lot?
Well, this is only the beginning. I think the real power of scripting comes in at the next level : the fact that scripting can create interface elements.
What does this mean?
Well, you can for example create a floating palette that will control :
1/The creation of a solid, with a certain size and position
2/The creation of lights, with a certain value and position
3/The addition of effects to the solid
4/The addition of an adjustment layer, a guide layer or a null on top of the whole stack.
This becomes much more useful, because you centralize what you would be doing in various parts of the interface. You could set up all your parameters and everything would be added to the comp with one click.
However this can still seem a bit tedious for long time users who know all their shortcuts and don't need to change their habits.
So scripting can offer these people more power by doing things that go beyond what can be achieved with the regular AE interface elements.
So what can scripting do that can't be done otherwise (except maybe with Useful Assistants)?
Paul Tuersley has a script that is called "EffectSearch". This script will scan your project for any effect that is used, not used, AE native or third party, on or off, and locate it for you. This has many uses. If you open a project with tons of comps and tons of layers, and AE warns you that one effect is missing, it doesen't tell you were this effect is located. This is were the script comes in handy.
And this is just one example.
Scripting can also be used to avoid doing repetitive tasks. For example changing all the names of all solids in your project based on their RGB value.
There is always the time spent writing the script, but once it is functional you can use it on all your projects, which is well worth the initial time spent writing it.
If somebody else has written the script you can easily add it to your toolkit, or adapt it to your needs.
Another powerful aspect of scripting is that you can use scripts to read files from the system. For example the script could could scan folders for specific footage and import it. It could scan a text file and create text layers based on its content, etc...
As you can see the possibilities are very diverse, and the extension of scripting is so fresh that what will be done with is still up to those who are ready to harness its power.
And in fact this is where an even greater advantage of scripting comes in, this time not only for the end user, but for the AE community as a whole.
And this advantage is what users of other high end software have had for years : sharing scripts that were developped for specific uses and that can be distributed to other people who can use them in their own workflow.
Hopefully this will start happening with AE scripts, expressions and Animation presets.