A very nice sports jacket/blazer and slacks are perfectly appropriate for informal
evenings- and not on formal or even semi-formal evenings.
While a sport coat and slacks technically are not semiformal attire, the reality is that the distinction between "semiformal" and "informal" attire for men has become greatly blurred in recent years. Most cruise lines that have "semiformal" evenings in addition to "formal" evenings now specifiy either a business suit or a sport coat and slacks (obviously, worn with a dress shirt and a necktie) for semiformal attire.
Unless you take a course in etiquette, many people rely on the good natured and kind advice of those who are experienced.
I would like to see social etiquette taught in our schools -- startng in first grade and continuing all the way up to graduation from high school. It is every bit as necessary in a civil society as reading, writing, arithmetic/mathematics, history, geography, and civics.
By the way, even "rednecks" know how to spell "suits"-- not "suites"!!
Hey, we all are capable of typo's, so let's give one another room to be human! In fact, a spell checker would not have caught this one.
Ultimately, it is up to the cruise lines and travel agents to inform potential clients of the dress codes, and ambiance of the cruise line they are considering PRIOR to booking!
The cruise lines do publish the information, so it's readily available, and some travel agents seem to communicate this information to their clients very well. Other travel agents, unfortunately, seem to be the premier source of misinformation. On one cruise, my parents had tablemates who did not bring formal attire because their travel agent had told them that they could go to the buffet for a casual dinner. The travel agent apparently did not know the line's older ships -- including the ship on which they booked their cruise -- did not offer that option. I doubt that this experience is unique.