I just started cruising and found myself in the same dilemna. Since I'm not a high-society person who is always invited to black-tie events, I now shop at Marshall's or Ross's and buy dresses for about less than $30 dollars and just keep them in my cruise-wear closet. It saved me the stress of buying something last minute. As a matter of fact I just bought two short informal dresses and one long dress--all for under $60. I'm now looking for some inexpensive wraps to go over them, again, Marshall's is great for that.
I've done the same for dress shoes, not paying more than $20 a pair. My next cruise is in December and I'm all set. But I'm still looking out for the bargains.
PS: I'm orginally from NY and I miss Filene's, Miami doesn't have one.