In my opinion, formal means that a tuxedo is required. If I made the dress codes, I would insist that all men where tuxedoes or else they shall not be permitted to dine.
According to strict social etiquette, you are quite right -- formal means "black tie." Nonetheless, there's also a history here. Back in the 1970's, when few men owned tuxedos, all of the major cruise lines that maintained formal nights adopted a modified standard of formal that admitted dark business suits as well -- and through the 1980's and early 1990's, that's what most men wore for formal nights on cruises. Only in the past decade, with the widespread acceptance of "business casual" attire in the workplace leading to a situation in which very few men now own business suits, have tuxedos made a comeback aboard ship.