First: Every warlock will have to deal with pets. ;)
The Voidwalker is the most defensive pet:
You can use it as a tank wile soloing. In conjunction with Health Funnel and a little bit of aggro management, you can slay 3+ player quest mobs.
He has the biggest life pool, which can be useful when Soul Link is active, for example in duels versus melee classes where the Succubus is dying to fast.
The Felhunter is my preferred pet as an affliction warlock: His damage increases with the number of dots on his target. His Fel Intelligence intellect and spirit aura is a nice stat boost. It can be useful in PvP especially versus caster classes, when using his Devour Magic and Spell Lock manually to avoid big nukes and dispel crowd control on yourself and your team mates (Fear, Sheep, etc.). He is a bad target for casters because of his huge resistances. He has good mana regeneration, especially with Improved Felhunter, which makes him also useful for Dark Pact warlocks.
The Imp is the typical instance pet, because everyone takes profit of his Blood Pact and he cannot pull additional mobs, because of his Phase Shift. With Improved Firebolt you can put his DPS to the Felguard/Succubus level, but you are limited by his mana pool.
You will want to go with Succubus when you either need her Seduction in instances/PvP or for her damage while grinding/leveling.
You can also farm with a Doomguard: Put Curse of Doom and Fear on your target and switch to the next. Once the Doomguard spawns, you enslave it, and you send it on another target. So you always have 3 targets: one for your Doomguard, one for yourself and one with Curse of Doom and Fear. You should not support your guard, because you have to kill either way.