A 3 or 4 night cruise is a quick getaway, 5 nights less so. I've flown to a couple of short cruises but it was only me. I really am not interested in flying to one if it involves my wife and son going. Not worth the hassle or air fare. If you are flying you need to get the most bang for your airline bucks. I know a guy who books back-to-back 7 night cruises so he only has to fly back and forth once. We do short cruises that we can drive to, such as out of Mobile or New Orleans. Even with those I feel sort of cheated by not having at least 7 nights.
For a special event like a wedding anniversary, 7 nights is the minimum I'd suggest.