If cruise lines offered soda for free, a lot more soda than juice or tea would be consumed. Since soda is offered all over the ship at every bar, I believe that soda would be consumed in great quantities. I know that when I buy the soda card, I usually go through at least a dozen sodas a day. I'm sure that the little kiddies would do the same.
Also, like the poster above stated, the luxury cruiselines do offer non-alcoholic drinks for free. It just costs a lot more to go on these.
Besides, with how cheap most cruises can be bought for these days, cruises need to make money some way. My last two 7 day cruises cost $500/pp. I spent $75 last night for just me and my wife to go out to Lonestar...
Paul