I think it would be right to point out how Carnival is one cruise line that has really avoided the extra-charge dilemma.
They have great, all-included meals and just one alternative restaurant most people never even see on most ships. The entertainment is also first rate but it doesn't add to the cost of the cruise.
They don't charge for ice cream. They have decent TV in the cabins (although they probably do have pay per view there are still other things to watch) and they never charge for room service.