We just got off a cruise on which my grandson turned 3. He liked the nursery and there was plenty for older toddlers to do, so going there was no problem, even after turning 3. The only times we have found the nursery full is the last night of the cruise, when everyone wants the final evening out or needs to pack. I always book that night first.
Toddler time is fun, as is Wake up with Disney Junior (a young child dance party about 9 AM, complete with character appearance). The toddler area off Promenade Lounge on the Magic is available at all times it seems with the large cushion blocks to build with, even though the actual program by CMs is not going on. There is a locked gate so parents can listen to the music have a drink, but not worry about child escaping.
One thing that surprised us for both the 3 year old and his 1 year old sister - they like eating meals in the nursery. They have macaroni and cheese, pizza, and toddler friendly foods seated at a small table with other children. We found partway through the cruise that instead of taking the two to the nursery when they were finished with their meals in the dining room, it worked better to have them eat in the nursery during the first part of our meal in the dining room, then pick them up before our dessert so they could eat a bit more (their plates would be waiting) and see the show in the dining room. we left clean clothes that that CMs changed them into after eating but before their pick-up time.