Rather a negative article about cruising here from CNN - mostly based around the recent Carnival Splendor (yes I think it should be Splendour) engine room fire that rendered the ship powerless. If you have not kept up with the story, thankfully no one was hurt, but the ship was adrift for a while and had to be towed back to San Diego. The article seems to focus just on the big mass-market ships and makes cruising sound like a holiday camp or shopping mall with endless cheap food and service by staff that don't want to be there. The article also says that you don't get to experience the ports of call for longer than a few hours.
Whilst the above may be true of come cruise lines - I want to defend luxury cruises here. It's true you do get what you pay for and in my experience of all the luxury cruise lines the staff are actually genuinely friendly and engaging, and paid well too. For me meeting the staff and crew and getting to know them is an integral part of my cruise holiday, and service is always exemplary onboard the luxury lines.
And of course the food is of exceptional standards on the luxury cruises, often better than top restaurants on land. As for port time - well choose a cruise where the ship stays overnight in port - many top-end cruise lines are introducing longer stays and overnights - and even have special evening tours to places that are usually closed to the public.
The author of the article says there are two types of people - those that love to cruise and those that hate them - I can only assume that the ones that dislike them were on the wrong cruise for them - it all comes down to making the right choice and ensuring you are booked on a cruise that meets your requirements and expectations.