This subject is always talked about. Where in the travel industry, does a company, whether a cruise ship, airline, hotel, that gives a discount for age. If a seat, bed, or room is occupied, a set fee is charged, regardless of age. For example, a hotel, charges for the the bed, so if two people sleep in it, than the per person rate is cheaper, but is it fair for a single to pay the same price as a couple? No, but who is complaining? The single. What about airlines, if you take the seat, you pay, but if the infant sits on your lap no.
If a couple goes on a cruise, they occupy a double room, but if they take an infant, they must occupy a triple. That bed cost money. An 80 year old lady, does not eat as much as a 16 year old teenage boy, but they both pay the same.
So why does everyone expect that they should not pay? It's not about the amount of food one eats, its about the payroll, the gas, the crew, the equipment, the port charges, the luggage handling, the cleaning, and so on. Age does not matter, old, young, teenager but what matters, is that the ship gets a fare for every bed.
Being a parent, and accepting that the next 18 years will be some of the most costly years of your life, will eliminate some of the confusion. Note, the next time you go to get happy meals at McDonalds, the rip off prices they charge. It is only beginning.