For certain clothing items, do your shopping the first night. For more generic touristy stuff, you can wait until later. The only time I've gotten a nice men's polo shirt was first night of my 4th cruise. By the time I'd look on previous cruises, most of the sizes were sold out. My wife accidentally left two dresses behind, so we bought her a cute dress the first night of the 5th cruise. By day 3, her size and most of the others were all gone.
I was told that for a lot of the clothing items, what they put out at the start of the cruise is what they've got. They may have more of some things, but unfortunately they always seem to run out of whatever size you need......