Blender now has four ways to procedurally duplicate objects, these options are in the Object context buttons, panel "Anim Settings".

DupliGroup

Create a Group, and type in the name of the Group. This creates an instance of the group with the transformation of the Object. Group duplicators can be animation using Actions, or can get a Proxy (See the Proxy page).

DupliFrames

For animated Objects, this creates an instance on every frame. The option "No Speed" will draw the instances always, regardless current frame. The options "DupSta, DupEnd, DupOff, DupOn" allow finer control over this.

Note that only Object-level animations (Object Ipos or Parent Ipos) are duplicated, not deformations or modifiers.

DupliVerts

This option creates an instance of all children of this Object on each vertex (the Object has to be of type Mesh). If the Object has a particle system, it will use the particles instead. The option "rot" will rotate the instances according the vertex normal or the particle direction.

DupliFaces

New: this creates instances of all children of this Object on each face (the Object has to be of type Mesh). The option "Scale" will use the face size to scale the instance.