We've only been on one cruise but as much as we enjoyed it, I see it being something that we do as often as we can. As relaxing as it was, we were still able to go out and see and do new things. It was so convenient to go see and do and then come back to the ship for food (for the most part) and relaxation. To us, that's the beauty of a cruise. How else can you unpack one time and see multiple countries? Unless it's been a port we've visited before and were disappointed, I don't see us just staying on. If it's a new port were just not interested in, I see us still getting off to explore a bit. Who knows, we might really enjoy it. But don't get me wrong, we love the sea days too! We just loved it all!
As far as buying food in ports, we would if it was something we really wanted to try or we were out and very hungry! If we were out and about and too far from the ship to jump back on to grab a bite, we would buy food in port. If were just out shopping close by, we'd just eat on the boat since it is prepaid. In Tortola, we were all getting hungry but just got the kids something to hold them over as DH and I were really fine waiting until we got back to the Magic. It just all depends on the situation.
That's what is so great! Everyone can chose what fits their style of vacationing and the cruise offers it all