In San Juan - look into a tour up into the rainforest - its it beautiful. Walking around Old San Juan and Ft. El Morro is also very interesting - you can do this on your own without a tour.
St. Thomas - beautiful beaches with great snorkeling- great shopping. If you want to do some hiking then you would need to get over to St. John Island - short ferry ride. A large part of St. John is a National Park and there are lots of hiking trails to choose from. I don't know if Carnival offers any type of hiking excursions or if you would need to do it on your own. IF you want to discover St. Thomas just hire a cab for a few hours and have them drive you around the island.