Carnival doesn't actually call them "Formal" nights - they call them "Cruise Elegant" nights. Their definition of cruise elegant (from the FAQ's) is:
Cruise Elegant Dining Dress Code: Gentlemen - Dress slacks, dress shirts. We also suggest a sport coat. If you wish to wear suits and ties or tuxedos, by all means we invite you to do so. Ladies - Cocktail dresses, pantsuits, elegant skirts and blouses; if you‘d like to show off your evening gowns, that's great too!
Personally I don't have a "formal" (read that cocktail, evening, prom, "new years eve") type dress and don't intend to buy one or two to wear on a cruise. I'd rather book an excursion with that money. So instead I wear a dressy black skirt with a dressy top and some fancy shoes. This fits right in with Carnival's policy for "Cruise Elegant" night dress code.
I'm sorry if that offends anyone...but my intention is to look nice without adding to my closet something that I might wear once or twice. Should I show up to Cruise Elegant night in shorts or capris and cotton top? No. But I don't feel that I have to look like I'm heading off to prom either.