We picked a cruise from Puerto Rico so we could spend a couple of days there beforehand and to minimize at-sea days. We've sailed on Norwegian once before and liked it. This was a really good cruise, the staff were great, the food was delicious, and the shore excursions were mostly excellent.
We had an obstructed oceanview room -- the view was actually pretty good, we could see the ocean over the top of a lifeboat. For some reason we were assigned an "accessible" cabin even though we hadn't requested one. Apparently these are a bit bigger, so we're certainly not complaining.
Others have commented on plumbing problems on this ship. We had a problem with the shower running only hot and the toilet not always flushing, but the staff fixed it and so no big deal.
View was better than expected, we could see over the top of a lifeboat below. There was a problem with the plumbing -- shower was only hot and then toilet stopped flushing. Apparently something was blocking a cold water line. It took two tries, but they fixed it and otherwise the cabin was fine.
We'd never seen San Juan so we got there a couple of days early. The damage from the hurricane has mostly been cleaned up. We spent a day in the old city, where there happened to be a busker festival. We stayed at an Airbnb in Ocean Park near the beach.
The trip to the ship was strange. Our Uber driver tried to drop us off miles away, and I had to show her where to go on my phone. It didn't help that she spoke no English and I no Spanish. But we got there eventually!
We had the SNUBA excursion booked, but on boarding the ship we were told to fill out a long form that told us we risked being prevented from taking the tour by the operator with no refund if we answered yes to anything. So we cancelled and just went on our own. We walked to the old synagogue (about half an hour from the ship on foot) then took a taxi to Mountaintop for the spectacular view and the banana daquiri and then back to the ship. We had a very good day in spite of not taking an official tour.