Totally depends on what you like to do, if you are the beach crowd then do the Virgin Islands, St. Thomas is great to see and spend some time there.
PR is totally different, San Juan is one my favorite cities to stop and walk around, tons of history, visiting the Spanish Forts and the Red Gate, the old walled city is just a blast to walk around and check out. As others have stated, PR has a lot more different things to do, visit the rain forest, pretty beaches, but also more poverty. You do not need a passport to visit either one, and your cellphone if through US Cellarer will work there, just like making calls here in Iowa.