What are expressions?
I'm going to write a line or two about expressions in general, because no expression reference would be complete without it. If you have any thoughts to add, please reply below and I can include some parts in here.
Expressions are a means of creating relationships between properties in After Effects, which can be applied to any property that has a stopwatch - in other words, any property that is keyframeable. The easiest way to create an expression on a property is by alt-clicking the stopwatch. When you do this, a default expression will be written that refers to the property itself. You don't even have to know expression language to get started; you can use the expression pick-whip to pick other properties and the code will automatically be written to link to that property. This is a great way to learn.
Once you get good at expressions, you can start to write complex relationships and do certain things that are almost impossible (or at least prohibitively time-consuming) with classic key-framing techniques. In fact, more advanced After Effects users will often set up complex systems with simple top-level expression controls, allowing easier experimentation with the look or movement without having to change hundreds of keyframes every time.
After Effects Specific Commands
After Effects also has several "Expression Effects". These can be applied to layers like any other effect and they're found under the Effects menu in Expressions. They don't actually do anything, but instead act as informational properties that the expression language can use to link other properties to. For instance, you could create an Expression Point Control on a null layer, and use this to control the position of several other layers. Or you could create an Expression Slider Control and use its value to control the movement randomness of a multitude of other layers, even in other compositions.
One of the things that sometimes foxes people who are familiar with other types of programming, particularly Action Script for Flash, is that After Effects expression variables do not persist from frame to frame. Each frame starts its calculations afresh. This means that it's difficult in After Effects to create physical systems that include speed, momentum, friction etc. It's not impossible, but it requires making long inefficient loops on every frame, that can get out of hand in long compositions.
Expressions are so useful for lots of reasons, especially to Videohive authors. Example: Imagine you are creating a project whose color scheme you would like to be able to change throughout. This might mean that the user would need to change the color of literally hundreds of layers, that might be deeply nested in the composition structure.
With expressions, you can set up a system where each layer that needs to change color is linked to an Expression Color Control. Changing this Expression Color Control will now change all linked colors in the project. If your color scheme consists of five colors, you can do the same for all five colors. If you want to take it a step further, you can then link the five top level Expression Color Controls to an Expression Slider Control, which you might name "Color Scheme" and write expressions to link the five Expression Color Controls to it. So now, when the Color Scheme Slider Control is set to three, for instance, the five Expression Color Controls change respectively to the colors of the third color scheme, which in turn changes the color of all the layers that you have linked to them. Before you can say "Bingo!", you've changed the look of your entire project to the third color scheme at the click of a button.
It doesn't have to just be for colors. You can adjust pretty much anything you can think of.