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".
Example: https://imgur.com/q9Zwhad
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.