PP is right -- my kid had the most amazing time running around IKEA the other week...
That said, he also has been cruising since he was 18 months old and has had a lot of fun on every cruise. As PP said, it's really more for you -- if you think you'd have fun going on a cruise with your child at this age, go for it! 4 is definitely old enough to be able to get excited about things like meeting certain characters or going to the pool. Assuming he's potty trained, he could also go to the kids club, which many kids really enjoy.