To clear/clean up a few things:
Basically it keeps the people with a lot of G/H from hoarding all the coins. That is a very simple way of putting it but that's essetially it.
Not even close. The difficulty affects
all miners. Not just the "people with a lot of
G/H hashes/sec". The "pie" is about 25 BTC every 10 minutes. Your "slice of the pie" is determined by your percentage of the hash rate relative to the hash rate of the entire network. If you are mining at 2 GH/sec and the network is 80,000 GH/sec
on average over time you will make 25 * 2 / 80,000 = 0.000625 BTC every 10 minutes or about 0.09 BTC every 24 hours. That is about $11 per day at the current exchange rate.
Higher difficulty network hash rate means it is harder for someone to perform a 51% attack. The simple answer to your question is higher network hash rate difficulty = more network security.
The higher difficulty is a side effect of the higher network hash rate.
if im mining in a pool that lets me pick a different difficultly to mine that should i do it or no?
That is a completely different issue. That has to do with setting up the connection between yourself and the mining pool - not the network difficulty. I would assume that if you are using a GPU to mine the default difficulty setting is probably OK. But this is a question you need to ask the pool operator - check out the pool operator's FAQ section.