We were just there. In St. Thomas we booked a tour with Godfrey Tours, and it was okay. Most people recommend taking the ferry to St. John instead, but that depends on what you want to do and see. Godfrey picked us up at the ship, dropped us in town for 2 hours of shopping, then drove us all around the island. We then had a choice of which beach to visit for 2 hours, and then he came back and got us. Some of the group got off at Coki beach, but it was extremely crowded. We went to Sapphire Beach and it was just beautiful! He only charged $20 each; but there are also tons of taxis right at the pier and you could work something out with them as well.
In Barbados, we took a cab to Boombay Beach, which was also great. They had a bar/restaurant, and you could rent chairs, snorkel gear, ride a banana boat, jetskis, the works. The Boatyard was also quite popular, although we heard it was very crowded.
In both St. Thomas and Bardabos there is a main street with all the shopping you could ever imagine. And in Barbados, right at the terminal where the ships dock, there is an internet cafe that charges $2 for 10 minutes. It was relatively fast and came right in the middle of our trip so was a good time to 'check in'.