How about this....
When you're on a cruise ship you have food, entertainment, comfort and fun, whether you're in a port or not. Usually the old saying of "It's not the destination it's the journey" applies. Plus, your probably not going to be late for another connecting ship or miss something because your ship is late. Your paying but there is no real misery factor (unless you're sick)
On an airplane, that is not your destination. There is not much to eat, there is very little fun and you surely aren't comfortable. You can be late, you can miss a connecting flight and you'e paying for this misery.
It's all relative.