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.