Casinos are not greedy. Most of their table games have a house edge of between 1% and 10%. That's a fairly small cut. Land-based casinos don't exactly charge outrageously for hotel rooms, food, drinks (often free when playing), or shows. Sometimes even their slots and video poker has a house edge of less than 5%.
Then land based casinos offer comps, and special room rates and deals to players. Every hotel I've stayed at in Las Vegas sends me special offers all the time to get me to go back.
When it comes down to it, most non-gambling companies are greedy on some level, not just those in the gaming industry. But your question implies that casinos are especially greedy, more so than other businesses. I don't really accept that. But if you want a point of comparison consider Haliburton or Exxon Mobile.