CGMiner has all the bells and whistles. It can do almost anything, is HIGHLY configurable, extremely stable, supports almost any hardware out there, is constantly being maintained and updated, and is very very slim and fast. With the massive amount of people using it, if you do have a question or problem, there are all sorts of people willing to help you out. Seriously, take 5 minutes, skim thru the README, set up your pool/hardware info, and you'll never go back.