Bring along one outfit per day -- no more. Consider bringing two different shirts to match the same shorts (khaki shorts with a white top one day, same khaki shorts with a pink top the next day).
Ladies can plan to wear the the same dress to dinner one night and Palo another night -- you won't be seen by the same people. Today's formals tend to be slinky rather than puffy, so they shouldn't take up too much space. Consider "extras" that go with several outfits; for example, my black shawl matches several dresses.
Men can bring one dark suit and several shirts/ties.
Plan outfits that'll match the same shoes -- they take up way more space than clothes. Black sandals are the ultimate choice for ladies; they go to the pool by day, dinner by night. Stuff your undies and socks into the shoes to save space in the bags.
Bring along your oldest, rattiest nightgowns and undies. Then throw them away when you leave. For a family of four, this tip should save enough space for souveniers!
Be careful about the "buy more while you're on vacation" plan. You'll still need to bring them home; consider an empty duffle bag in your luggage.
Don't skip a lightweight jacket for evenings.
Bring along laundry materials even if you don't plan to do wash. If a child throws up, you might be glad to be able to wash a load of clothes!
For drivers only: Pack your "night before hotel" bag separately. There's no need to bring that stuff onboard the ship. Leave this bag -- and your heavy winter coats -- in your car.
Do not bother bringing big beach towels, excessive toys for the kids, and other things that "might come in handy". They are rarely used. Also, don't bother to bring snacks (unless they're for shore excursions); there's plenty of food onboard.
Do not skimp on basics that'll cost you dearly later: suntan lotion, film, batteries, over-the-counter meds.