In addition to the Mirror Modifier
In addition to the mirror modifier you can also use Symmetrize in editmode. This allows you to mirror any selection (or parts of your mesh) without the hassle of setting a new origin point (Scale S-1,X/Y/Z is also a trick to do that).
However the Mirror Modifier is only limited to mirroring objects along the X-Y-Z axes. Sometimes, you'll want to have symmetrical shape that isn't mirrorable. Here the Spin (Edit mode, Alt+R) comes in to play.
Spin uses the 3D Cursor as pivot point (not the Origin point). It can be use to make from vertex a circle while enabeling the use to set the amount of vertecis and the rotation (eg: 360, 135, etc)
However it also enables to spin faces with "Dupli enabled".
Here i rotated a Triangle 360degrees, with 1,2,3,4,5,6 iterations (With dupli enables). As last i've made a vertex spin around 135 degrees (without dupli enabled). Notice the 3D Cursor.
You can also just spin something 180degrees so that's you'll have the object mirrored on 2 axes.
Figured this should be mentiont.