Which to Pick?
The short answer is, if you are using many dynamic lights then you should use deferred rendering. However, there are some significant drawbacks:
This process requires a video card with multiple render targets. Old video cards don't have this, so it won't work on them. There is no workaround for this.
It requires high bandwidth. You're sending big buffers around and old video cards, again, might not be able to handle this. There is no workaround for this, either.
You can't use transparent objects. (Unless you combine deferred rendering with Forward Rendering for just those transparent objects; then you can work around this issue.)
There's no anti-aliasing. Well, some engines would have you believe that, but there are solutions to this problem: edge detection, FXAA.
Only one type of material is allowed, unless you use a modification of deferred rendering called Deferred Lighting.
Shadows are still dependent on the number of lights, and deferred rendering does not solve anything here.
If you don't have many lights or want to be able to run on older hardware, then you should stick with forward rendering and replace your many lights with static light maps. The results can still look amazing.