what is the difference between a private pool or solo mining I would like to understand if there is a difference in resolving blocks with a private pool and solo mining, I understand that when solo mining you are given a block to resolve but within your private pool you may resolve various, this of course having several machines.
There's no technical difference in generating blocks in pooling vs. solo mining. The only difference is that pool mining can create a more steady pay flow.

Why do people do pooled mining?

Bitcoin's difficulty can give unrealistic time frames for payout. The average computer will mine a single block in 1000+ years at current difficulty. But say I got into a pool with the average computer, I'd get a payed proportionally to the amount of work I contributed to a block being found. Although my "work contributed" may not end up being a block, it had a chance proportional to my own hash rate. In the end I'd get payed a few satoshis daily as opposed to getting the block reward (25 BTC at the moment) at some random point in the future likely to be no later than 1000+ years from now.

Why do people do solo mining?

The main reason is because they can. Certain miners have enough hash rate to get blocks in a reasonable time span. If I had a 1/144th the hash rate of the Bitcoin network I'd statistically have a 100% chance of finding a block of 25 BTC within 24 hours. There's no benefit for large miners to do pooled mining, may even hurt them because of fees.

Pooled vs. solo mining will theoretically yield the same amount of coins if difficulty and block reward never changed and you solo mined long enough. Although you should consider pooled mining if you aren't mining with a rack of gear.