If you find yourself modeling something that is symmetrical and want to be able to model on one side and have the other side update automatically, then here are a few steps to get you going.
- Make sure you have an edge loop running down the center of your model. Specifically the axis upon which you want to mirror.
- Go into component mode (faces), select half of your models faces and delete them.
- Go back into object mode and make sure your half model is still selected.
- Check that your objects pivot point is sitting on the axis you want to mirror. If not, put it there (insert on pc, home on mac).
- Go to Edit > Duplicate Special 
- Make sure you have instance selected instead of copy.
- Set the scale value of the axis you want to mirror to -1.
- Hit Apply.
Now you will have your model in complete form again. However, if you start tweaking vertices on one side you will find the other side does exactly the same thing only mirrored. Caveats: Since you are ‘essentially’ working with 2 different objects at the same time you will always have a seam running down the center. Even if you work in smooth preview mode you will see the seam. Don’t worry about that while modeling. Just remember that when you are done, simply delete the instance and do a proper mirror and merge. The seam vertices and your model will be as smooth as you need it to be. Often you might find that there is a gap in the seam. If so, you can move all seam vertices together to close it, or make sure your pivot point lines up with the seam before doing your instance mirror.