They get free tuition, free place to live, free books and they get a few bucks either weekly or monthly for meals and such. When my brother played college football on a full ride, he still took out a loan. He said just about every player on scholarship did and they just used that loan for personal use such as a car or something else they may need. Plus these guys at big schools get money under the table. I've seen it firsthand. I won't say who or with what school but i've personally seen a player after a game get money.
Even with all that though, with the amount of money some of these programs generate, its hard for the kids to see that and not think they deserve a piece of the pie. However, a lot of these schools football/basketball programs really drive the rest of the school's sports and help support them financially.
I do think college kids should get a small portion, here's my only issue. How do you decide how much? Should the punter get the same amount as the Star QB? Do you pay based on performance? Is it a flat rate? Should the swimmer make the same money as the football player? Do athletes who's sports don't generate the football/basketball money deserve to get paid?
It's very easy to simply say these guys should get paid, coming up with a real solution isn't that easy.