I talked with some of the staff on the Carnival Spirit about this, just out of curiosity.
There are hardly an Americans working on cruise ships, because we have to pay income tax. People from other countries don't.
So, their take-home pay for the year would be about $35,000 (which varies by job, that was a casino dealer, other jobs probably less), with all expenses having been paid on the ship except booze. They even get their own cabin stewards and laundry done free.
Unfortunately, take the $35,000, give your tax portion over, and it's pretty worthless to work on a ship. Some jobs have horrendously long hours too. Dining staff works 3 meals a day, meaning 6am to about 10pm, don't know what kind of breaks they get. Our room steward worked 6am-12pm, then 4pm-10pm. Yikes.
They do this for 8-10 months straight. The shortest contracts are for technicians and such, 6 weeks.
Most of the staff I talked to had friends already in the business and were referred that way.
Denise is correct. I can only speak for Royal Caribben and Celebrity positions, but if you're an American citizen, you'd also have to pay your own Social Security, since you'd be either a W-2 or 1099 contract worker, and RCI doesn't pay it. Not a good deal for Americans, not even unmarried ones. Not at all the glamorous jobs that many cruisers think they must be. What might seem like a six-figure income to a South African would be a pittance to an American taxpayer. Sorry.
If you are an American Citizen & Resident, and unless you are an entertainer or shore excursion specialist (ie Dive In), forget it. You wouldn't want it... and, frankly, they would be quite suspicious if you wanted it... (read to mean they don't want you, either).