I think if you are looking for a low key trip, with beaches, eating, a bit of shopping, etc., either will work for you. Maybe pick by what hotel/resort/condo you like the best, if one over the other doesn't stick out for you?
I might be a bit biased because I got married on St. John, but St. John by far. The island is gorgeously preserved, the main town of Cruz Bay is low key and charming, the restaurants are excellent, transportation is easy, and there are many great day trips available (you absolutely must go to The Baths in the BVI). St. Croix, by contrast, is much rougher around the edges. It's larger, so transportation takes longer, there is some ugly industrialization, and it has much more poverty than on St. John.
I would recommend staying at Caneel Bay if you can afford it and don't mind walking (it's a huge property). If you want something closer to town and don't mind the absence of a sandy beach, I just stayed at Gallows Point and loved it. I would not recommend the Westin.
Old thread, but we are thinking about going to St John with friends. One couple went last year, but only on a day trip, they stayed in St Thomas. We have never been to St John, but have been to other Caribbean islands, just not in the VIs.
Anywhere we must do/see/go? We are thinking about renting a villa instead of staying at one of the hotels - this may be more cost efficient, we are still looking into it. I've heard it's absolutely beautiful and much of it is a national park, so it's preserved and clean. Do you recommend renting a car for the week?