Never taken the cruise. Now that that's out of the way let's talk about the parks.
Where to take a 4 yr old. By far the most family friendly park is the Magic Kingdom because that's where all the classic rides are. Walt's dream for Disneyland was to have a place where parents and their kids could enjoy themselves. Since the Magic Kingdom is based on Disneyland, you both are sure to enjoy yourselves. There is plenty to see and do, I personally always spend at lease half of my Disney vacation there.
I personally would avoid Epcot, because there isn't much that a child would enjoy. Epcot is 2 spectacular thrill rides and slower ride-through or walk through exhibits. It's great for someone who could appreciate it, but not really for a child who just wants to have fun.
MGM Studios is another good visit, there should be plenty for everybody to do. The massive "Honey I Shrunk The Audiance" children's playhouse is spectacular. The only thing I'd say is avoid Sunset Blvd. There's nothing for young children there, but if you can sneak away it contains two of the best thrill rides on the property, Tower of Terror and Rock 'n' Roller Coaster Starring Aerosmith.
Animal Kingdom, the fourth newest park might be a wise choice if your boy likes animals (What kid doesn't?) There are a few rides for the kids, but it is essentially a Disney-fied zoo. At Animal Kingdom I would deffinately do "It's tough to be a bug" your little one should love that.
Blizzard Beach is the newer of the two water parks. It also has more to do, and a rather large children's area. It should be enjoyable weather permitting. I saw a Travel Channel special on the top 10 water parks in the US and Blizzard Beach was ranked #2 in the nation.
As for accomidations, I reccomend the moderately priced resort Port Orleans: French Quarter, or Port Orleans: Riverside. One is themed like the New Orleans French Quarter, the other like rural Louisiana. They are spectacular visually, and have great ammenities, and wonderful pools. They are about $180 a night. If you are travelling on a budget, the $77 a night All Star Resorts are very nice. I would encourage you to stay at a Disney Resort. They add to the splendor of the vacation and you get free transportatoin, meaning you can leave the car parked at the hotel the whole time. If you are going all out and want to spend some money on a deluxe resort, I'd suggest the Northwest Lodge themed Wilderness Lodge. It is truly a sight to behold.
Expect to spend alot on souvineres. Disney is pricey, and for the first timer, you'll want to buy everything. Just think where you're going to put it when you get home, and that should help you restrain yourself.
Places to eat: Stay with the walk up counters if you are travelling on a budget. At the Magic Kingdom I reccomend Cosmic Ray's (general fare) if you are around Tommorowland and Pirate y Perico (Tacos and other Mexican food) if you are around Adventureland. Epcot, check out somewhere in the World Showcase for some cuisine from different countries. MGM check out the ABC Commisary for some great Asian food. If you really want to spend some money, the five star Victoria and Albert's at the Grand Floridian resort and spa features world class cuisine, but beware, it is the most expensive restaurant on the property, and I mean EXPENSIVE.
Like golf? Disney has 3 world class 18 hole courses.
I really hope this helps you and I hope you and especially your boy enjoy your vacation. Any more questions feel free to ask, I'd love to help.