Some ports (like New York and Miami) are not only difficult to navigate, but are uninteresting as well. Getting around New Orleans is easy, the traffic isn't bad, and the food is great. We spent time before and after in rural towns which are safer and more interesting but still offer superb independent restaurants and lots of history. See Lafayette, Baton Rouge, and consider staying in Slidell rather than New Orleans.
Diving and swimming excursions might be very good here, but independent touring is questionable. Shopping is limited to cruiseport shops, and safety elsewhere is doubtful. We looked and didn't bother going far from the ship.
Roatan offers very good excursions for divers and beach-goers, but little in the way of shopping. Yet it was a genuine place; near the dock is a quaint street of local shops, where locals sell real handicrafts. Take a cab tour of the island and see the jungle-like fauna, see private resorts and a nice little scuba-tourist village. This is a genuine third-world port.