Let's see if I can summarise the basic types - feel free to jump in if I've missed anything.

First variable: direct mount or remote mount. A direct mount extruder mounts directly over the top of the top of the hot end. A remote mount is mounted on a fixed part of the printer chassis and filament is fed between the extruder and the hot end via a bowden tube.

Advantages of the remote mount: removes a lot of weight from the x-carriage, meaning you get faster prints and (depending on how well you built your printer) higher quality prints as less vibration is transmitted to the hot end through movement.

Disadvantages of the remote mount: depending on how you route the bowden tube, you an suffer from something called hysteresis, where the retraction and feed of the filament can cause "slapping" against the sides of the bowden tube and mess with the quality of your prints. You can also get more strings and blobs, depending on how you tune retraction. It is also very, very difficult to print flexible filaments through a bowden (ninjaflex, PVA, etc.). Friction increases which can cause skipped steps if you don't route your bowden well (protip: one curve only - no s-curves). They can be more prone to mechanical failer (e.g. bowden popping off).

Advantages of the direct mount: no hysteresis, easier to print with flexible filaments. Less prone to failure.
Disadvantages of the direct mount: can't print as fast.

Gold: hybrid dual extruder combining remote and direct mounts.

Second Variable: Geared or direct drive. A geared extruder uses gearing to step down the speed of the stepper motor, sacrificing speed for torque (Wade's, etc.). A direct drive uses a hobbed gear on the stepper driver to directly pull filament through the extruder. I'm not aware of much in the way of pros/cons of the two, other than that you can run into problems with a direct drive if your stepper motor isn't beefy enough to pull the filament through. I've used both and found they work equally well.

Gold: Skullstruder (search for it on Thingiverse).