Semi-formal to me means "business attire", in Key West that means long pants - shirt optional, most everywhere else that means coat & tie for men. Formal, in Key West means wear socks, everywhere else it means tuxedo. This is my understanding, anyway.
Now on our cruise formal night we had the entire spectrum represented - some guys were in golf shirts and slacks , while others (my son and I included) were in tuxedos. Semi-formal night, again the spectrum- some in golf shirts and slacks others in coats and ties while still others just a tie (and pants, shoes and shirt, of course). My son wore shirt & tie, while I wore a jacket as well (along with the other necessities like pants, shoes, etc...).
My family saw both nights as great opportunities to get family pictures - and we are glad we did. Dress up, everyone acts nice to each other, manners are at their best plus it is a fantastic chance to show off your beautiful family.