I have only visited St. Croix once on a cruise stop. I thought it was a very beautiful island. We took a seaplane tour around and across the island.
Carnival has stopped visiting it because of an increase in crime is what I have heard.
St. Croix is great beach & snorkel island, but that's about it.
In my opinion, St. Maartin beats it hands down. Nice French & Dutch cities, beaches, snorkelling, etc. ...but then, I tend to like the French islands. If you go, definitely go to Margot. Nice little city. Be sure to climb up to the fort. Great views from there.
St Croix is a beautiful island. It is not as commercialized or crowded like St Thomas but has gotten a bad rap. Unfortunately cruise ships docked at Fredericksted . Too bad they could not have docked in Christianstead. It is the nicest part of the island and safe too.