Most career gamblers are making money in poker. In big money games, you play against other players and the house takes a rake. If players have stacks in the millions (which they do), the rake is pretty damn big. Not to mention, players will win a million in poker, then go play Baccarat or something. Gamblers don't gamble just to make money...
I remember a quote from somewhere:
"If you are winning it's not gambling".
If you beat the rake and have an edge over the other players it's just a mind game of dealing with variance.