BTCGuild is the best by far. Here's what you need to realize that apparently the vast majority of people don't understand. Let's say everyone mines at 1 GH/s

Let's say one pool has 1000 GH/s and another has 2000 and there's only those 2 pools. You join pool 2 because obviously they have double the chance of finding a block as the first one. You'll make so much more money! WRONG. You're splitting 50 BTC with 200 people twice as often as opposed to splitting 50 BTC with half as many people half as often. They tie. No matter what pool you choose, you have exactly the same profitability.
The difference is fees they charge and features they offer. BTCGuild is the best for that. I even jacked up my donation so I qualify for e-mail notifications of stalled workers. That's saved A LOT of lost mining time and paid for itself about 10x over so far.
The biggest pool I know of has important features missing and stores your password in PLAIN TEXT in their database. Plain freaking text! And they're the biggest pool! So I think we know who's the #1 hacker target.