NCL does allow smoking in all cabins.
All Carnival Corporation (Carnival, HAL, Princess, Cunard, Costa....etc) ships allow smoking in the cabins. Royal Caribbean International (Celebrity, RCCL and Azamara) do not allow smoking in the cabins. Azamara and Oceania have the most restrictive policies with only two smoking areas and violators can be fined and removed from the ship.
Royal Caribbean Cruise Lines, while not allowing smoking in the cabin, does allow smoking on the balcony.
Regent Seven Seas does not allow smoking in the cabins.