There are 3 pets currently for the Warlock: Imp, Voidwalker, Succubus. Each are received through quests at levels 5, 10 and 20 respectively.
The imp has the ability to increase the stamina for the warlock and any party member within radius of the imp. In addition, the imp can put a fire-based damage shield on the warlock and themselves. Finally, the imp has a ranged firebolt attack which does considerable damage and is upgradeable as the warlock levels. Unfortunately, the imp has almost no armor and so makes for a poor tank, but is absolutely great as a DoT or in parties that have tanks or when you don't really need a tank.
The voidwalker has tremendous armor and the ability to Taunt the enemy off of the warlock. Unfortunately, currently, this Taunt ability does not work very well. In fact, the imp can generate much more hate with its firebolts than the VW can with its taunt. In addition, the damage that the VW does to the enemy is just plain awful [read: embarrassingly bad]. The armor that the VW has is nice, but since it does not do any damage worthy of note, the mob must be taken down slowly using all of the warlock's mana or abilities to do so. I say 'slowly' only if you want the voidwalker to hold agro at all, since it won't if you chain nuke or chain dot or chain curse.
The succubus is almost the best between the two. She has relatively good armor, does good damage with her lash, taunts well with her kiss, and has the bonus ability to use seduction - which immobilizes a foe like a sleep spell as long as the victim is not damaged [very nice for adds]. Definitely a great pet.
The voidwalker and succubus use soul shards in order to be created. The soul shard is something that the warlock can obtain through the usage of a 'drain spell' used as a non-trivial difficulty victim dies. The 'drain spell' has a fairly long duration and does some damage so it's relatively easy to get more shards as needed - as long as you have enemies around who are of non-trivial level.
Overall, I use the imp the most probably -- when I'm farming, wandering or in groups where I know my pet won't get agro and I won't be responsible for taking care of excess adds. The succubus is the best pet by far, though the ranged attack of the imp is very useful for pulling.
The other reason I use the imp the most is the fact it doesn't take soul shards to create. Currently, pets often get lost or stuck and end up despawning, even if the warlock was just running along a road. As easy as it can be to get more soul shards, it's sometimes easier to just bring up an imp until you're in a place where you're going to need the armor and seduction of the succubus. The VW is nearly useless at this point. There's nothing I would be able to take with the VW that I couldn't take with the imp or succubus. These two pets are MUCH more versatile than the VW. I can ping pong mobs between the imp and myself, or let the succubus just have them and seduce them if things get rough. The VWs do look fun, though :)