Mathematically and statistically, if you mine for a pool, you lose money 3 ways compared to solo.
First is the fee they charge and there are some no-fee pools. If the fee is 2% then for every 50 coin block you would have found solo, you'd get 49 BTC from a pool. BTCGuild has no fee options though so it's avoidable.
Second, you also lose the stale share amount caused by the delay from a pool server handing out processing assignments to people. Whenever one person solves a block, whatever everyone else is concurrently working on is invalid and they don't get paid for it. This effect is extremely variable based on your speed but in the neighborhood of 0.5% for most people if I remember correctly. So your 50 to 49 BTC block from earlier is now about 48.75.
Thirdly, almost no pools give transaction fees to their members (which better change within a year!!!!) so you'd also get like 50 and change for finding a block solo. It's not much really but you never know. I don't think there's been a 51 BTC block ever. The most recent block with a high volume of transactions was 50 + 0.064 total transaction fees for 151 transactions. So solo you'd have gotten 50.064 for solving that block. So maybe your 48.75 pool mining block is now a 48.74 block on average. If you have a 21GH/s system, you're potentially losing 1.26 BTC every 4 days if you're mining in a pool. If you have 1 GH/s solo mining, you're missing out on 1.26 BTC every 3 months so it's not a huge deal. The math explaining that is below.
----------------------------------------------------------------------------------
So, if you want to know your exact situation and make a decision for yourself (and I can't believe nobody posted this yet) just go here:
http://bitcoin.sipa.be/ which actually appears to be down right now but anyway...
look at the graph for total processing power at this time of the entire network. I'll pretend it's 12,000 GH/s since it's down right now
so if you're mining at 3 GH/s then you mathematically have a 3 in 12,000 or 1 in 4000 chance of finding a block every 10 minutes. So with approximately 144 ten minutes intervals per day, that's a 1 in 27.7 chance per day that you'll be the one to solve one of the given blocks. So you can expect to find about 1 per month solo mining at 3 GH/s. Now if you're at 1 GH/s, that's 1 every 3 months approximately and if you had 21GH/s then you'd find a block about once every 4 days.
If you have 3GH/s and want to get paid more than once per month, join a pool. If you have 21GH/s and are fine with an average of a payment every 4 days, go for it. Because of the numbers involved, you could have 21GH/s and be high and dry for 2 weeks or suddenly solve 1 per day just based on random chance (aka luck I guess).
Seems like really simple decision, right?
WRONG! lol. You probably should stop reading right now. Seriously
You are going to regret reading further
Just pretend it's that simple and walk away lol. Here's the sparknotes version: If you start mining and predict that the current total GH/s of the system results in about 1 block every month for you and then the total GH/s of the entire system goes up before 1 month's time and before you've found a block, you're more screwed than you might think.
-----------------------------------------------------------------------------------------------------------
Okay...remember that the total processing power of the entire network is extremely variable and your processing speed is not. That causes some problems with the above calculations. If Bob started solo mining because the total network was at 10,000 GH/s and suddenly the network grows to 30,000 GH/s and Bob hasn't found a block prior to the change, everything gets screwed up. Bitcoin miners are only concerned with results and results can only be measured after they happen since bitcoin mining is (pretty) perfectly random. So looking back at the statistics of the results caused by that increase mid-term is that all Bob's solo mining he just did without finding a block yet gives him a retroactive disadvantage. That's because Bob's 1 in xxx shot at finding a block failed to produce results prior to the probability change so the start time and conditions are irrelevant because past events don't influence future results.
So as soon as it's at 30,000 GH/s all of a sudden, it's exactly the same odds for "total end results from then on when later looking back at the results" probability
for the entire operation at that present time as it would be if Bob had started soloing versus a 30,000 GH/s total speed the entire time. But like I said, that's purely from a results after the fact standpoint which you have to look at it from because of the simple fact that mining at a better probability to find a block doesn't benefit you unless you actually find a block.
If that made your head hurt, the short version of that is if you solo mine vs a total mining speed of the system of 10,000 and are estimated to find a block every month then it shoots up to 30,000 after 3 weeks and stays there for the entire year but you didn't find a block before it changed, your statistics at the end of the year would be the same results that probability-wise should have happened, had you mined at 30,000 the entire time. Quite simply, if you're attempting to do something at really likely odds and don't accomplish it before the odds go up, those easy odds counted for nothing and yes, that carries over and reflects in your BTC balance if you solo mine.
So because of ALLLLLLL that, the only way to make a 100% accurate decision that benefits you the most is to predict the future as far as the total speed of the network for a period of time of a duration equal to the results of a current probability calculation of how often you'll find a block. If you think you can predict future total mining volume and it's going to increase before you find a block, don't solo mine. If you think you can predict it and mining is going down, I don't have an answer because the logic behind that makes my head hurt. It seems like you would logically "win" and "lose" at the same time.
Now that your mind is sufficiently blown, attempt to make a decision