I agree with everyone else, they charge for it because they can. We were just on the Norwegian Dawn in November & the only free drinks were iced tea & tap water (sometimes apple & orange juice), even at dinner you were charged for sodas. We did not pay a lot for the cruise & knew going in what all the extras were. We were on Carnival 2 years ago & I think they also did not charge for soda with dinner, but I honestly cannot remember.
Disney is among the lines with the fewest "extra" charges. I don't think
DCL would make as much charging everyone $20 extra as they do charging $5 per coke!! Lucky for us, we are not big soda drinkers & often the only time we would have them would be eating out at dinner...so we are set on DCL!!
Cruise lines are charging more & more for the "extras", that is just the way things are going. We are going on a Royal Carribean cruisein October & the current uproar on the cruise critics board is that they are now charging for Johnny Rockets, which used to be "free" (except for sodas & milkshakes..of course!!). I am worried that by the time I make it to the ship they will be charging for that, the rock wall, the mini golf, the skating, etc., etc., etc. The only reason the cruise lines do this is because people will pay for it!!
The charge for Palo recently went up on DCL, though it still remaines one of the cheapest alternative restaurants on the cruise ships.
Since the majority of our cruises are on DCL, we don't see the nickel & diming that may complain about on the other lines, but it is a frightening trend for those who enjoy cruising on all the other major lines.