In online poker, all the chips on the table have been paid for, and with each subsequent pot the house takes its “rake” (i.e. a small fraction for hosting the game). Any money you make in online poker comes out of the pockets of those who you are playing against, and even if you were the best poker player on the table and looted all the stacks, you still wouldn’t leave with all of the money that had been on the table. This is because of the rake fee.
The stock market is similar. All of the money you make comes from the pockets of the other participants. After each trade a commission fee takes place to cover the transaction between the two individual traders/investors (players). At the end of the day, even if you were the best trader in the world and were able to drain the participants of all their capital (impossible for many reasons, but for theoretical purposes–) you would still walk away with less money than had been put into the market (sans dividends, should the stocks have any) because of broker fees.
I guess the message I am trying to get across here is that for every winning hand or profitable trade, there will be a losing hand or a losing trade on the other side, at least when markets grow faster than the underlying companies and economy. Those who come out on top are relatively few, because they tend to obtain the “stacks” with their confidence, skills, and eventual ability to buy the pot. The others who come out on top (assuming they have a good business model and aren’t wasting money on excess people/equipment) are those who bring the transactions together.
Oh, and another thing: on average, people like to think they are better than average poker players. I think the same goes for the financial world.