St, Maarten hands down. If you have been reading reports of the recent cruise ship stops at St. Croix, it does not appear like St. Croix is quite epuipped to handle cruise ships yet.
Also, hands down, Orient Beach is one of the best beaches around (beautfiul water, scenic, great waves for the kids to play in, great food, drinks, facilities - take a cab there, rent an umbrellla and relax while your kids play).
We have an upcoming trip to St. Croix and we have been researching things to do and beaches to go to (including looking at pictures, restaurant options etc. etc.) and nothing jumps out at us. The best beach on St. Croix appears to be Buck Island (but that is on the far side and many standard operators including Disney's snorkle tour does not stop at that beach)>
There have been earlier threads posted by people who went on the last Magic trip to St. Croix to stay on board....
The only thing that might pull you towards St. Croix is if you are an avid snorkeler and will not be getting your fill of snorkeling from other stops. The Cane Bay wall is also supposed to be great for divers.....