Tipping is still a good way to encourage the best service and the cruiselines know this. It's obviously incentive based and is a better method of producing good service. I like automatic tipping, so I don't have to worry about it at the end of the cruise but I wouldn't like to see it's replacement in the form of a service fee added onto the ticket price even though as a passenger I consider it to be part of the price.
I talk to the crew members on every cruise, and some of them work 8 month contracts, and some work 6 month contracts. I believe it varies from company to company and from job to job. On one RCI cruise the bartender told me he worked an 8 month contract and was home 4 months, while the salon hairdresser told me she worked a 6 month contract.
On my last cruise our waiter was serving 15 people at dinner. At $3.50 per person, per day, and 2 dinner seatings a night that's 15 x $3.50 x 2 = $105 per day in tips. If he works an 8 month contract that's $105 x 240 days = $25,200. If you annualize this it's equal to $37,800 per year. Since they're free of U.S. taxes consider another 28% savings from taxes so it now becomes the equivalent of $52,500 per year for you and me. And this is if people only tip the suggested amount.
Also consider they're not buying groceries, paying a mortgage, buying gas for the lawnmower, fuel and insurance for the car, repairs to the garage door, fertilizer and weed killer for the lawn, etc.
They work hard, and they work long hours. But it's not as though they are captive slaves working for peanuts.