desertrat - formal nowadys on cruise lines is a bit more relaxed from the "official" etiquette terms. If your husband/son has a nice suit, that would be great, but nice dress pants, dress shirt, tie and blazer are also perfectly acceptable dress for men and boys for formal night in the main dining room.
As for you, it doesn't have to be a long gown. A nice dressy dress, a cocktail dress, dress suit, dressy pants with a dressy sparkly blouse- all are fine.
I usually tell folks to wear on formal nights something that they would wear to a church wedding with a reception at the local country club or nice hotel. What used to be called your "Sunday go to church clothes"
Casual nights in the main dining rooms- the "uniform" for men/boys is Dockers type pants, cargo pants, nice casual pants with a polo or button-down shirt, hawaiian print shirts and nice casual shoes.
Ladies/girls - i go for a sundress and flat sandals or kitten heels, so easy. Capri pants with a nice top, nice slacks with a nice blouse.
shorts, t-shirts and bathing suits are not allowed in the dining rooms for dinner.