After Effects 6.5 includes a very powerful upgrade to AE's scripting implementation. They might have teased us with a taste of scripting in 6.0, but this is the real deal. You now have the power (for good or evil) to create amazing scripting applications for After Effects. The potential is enormous.
Scripting vs. Expressions
For the most part, these are very different beasts indeed. Expressions are live at each frame. If you move the time marker, all the expressions in your comp will run to create the correct image at that time. When you render, your expressions will run at each frame. Expressions are applied to properties of layers, cameras, effects, etc., but they can't create anything.
In contrast, scripts are run on demand. You run the script, it does its job, you move on. Scripts can create things like projects, comps, layers, cameras, keyframes, etc. You can apply effects with scripts. You can even create expressions with scripts. Also, anything having to do with job control or render automation is clearly within the domain of scripting. You can even create a user interface for your script. Your typical AE script will contain more code than your typical expression and you may also notice that scripts will often be implemented with more formal coding standards than your typical expression (using "var" to declare variables is one example).
Why We're Here
I'm assuming you're here because you want to learn how scripting works and how you might create your own scripts to help you with your design projects.
And that's really the best way to learn. AE comes with a lot of sample scripts and there are a lot of examples in the scripting guide. So the trick is to find one or more scripts that have examples of what you're trying to do and use them to piece together your own script.
For example, in the AE "Scripts" folder there is a "(demos)" folder that contains a script I wrote called "ShapetimeInsanity" that includes code that: creates a project; creates a comp; creates layers; sets the layer blend mode; adds masks; and sets keyframes for position, rotation, opacity, and scale. So if your script needs to do one or more of those things, you can look inside ShapetimeInsanity to see how someone else did it. So the message here is to examine the sample scripts (and any others you can find here and elsewhere on the internet) so you will know where to locate the snippets of code that you can weave together to create that scripting masterpiece that you have envisioned.
Good luck and enjoy your journey!