I prefer Royal.
After 11 DCL cruises, I'd seen all of the shows and nothing was fresh; villains tonight, golden mickeys, wishes, twice charmed, toy story... Same old shows with nothing new for frequent cruisers. I just got off Oasis last week and saw Cats, a phenomenal aerial show, 2 different aqua shows, an ice skating show, plus the headliner comedians.
I don't care about rotational dining and I don't need a big show by the waiters interrupting conversation at most of the dinners. Food is good on both. Both have pay-extra dining options. Both cruise lines are clean with good cabin stewards. The pool situation was better on the Royal ships I've sailed than any of the DCL ships (I've been on all 4.)
Both have good kid / teen clubs. To me, this is what your kid makes of it and whether or not they're shy or outgoing. My kid played an awful lot of computer games - video games and computer animation stuff in Disney. Royal has the edge on the other active / sport choices on board. Flowrider, rock wall, mini golf, zip line, ice skating, plus the standard sports court stuff. Disney's pools are too small so Royal wins that one,too.
I like the "free" cokes and all-you-can-take towels on DCL. But not enough to tip the balance for me. We cruise in verandah suites on DCL and suites on Royal. There are a lot more concierge-level options on Royal and the perks are outstanding. I get double points toward Crown and Anchor, free voom internet access, designated concierge(s), private dining room, lounge with complimentary cocktails, specialty coffee, and hors d'oeuvres. Both cruise lines give a welcome fruit / dessert plate. DCL gives a gift (backpack, umbrella, game set... are some of the things I've received.) The price is what initially prodded us to jump to Royal. We saved half.
I've been to Castaway Cay, Coco Cay, and Labadee. I liked them all. They're all nice. Castaway is probably the cutest and has impeccable theming. I think the experience on all of the 'private islands' is highly dependent on how full your ship is. (And these days, they all seem full.)
I apologize if my post seems scattered, I've been writing in bits and pieces with multiple interruptions.