When physical locality in memory for different objects matters. This is probably rare in practice, but if you have a long-running program, it may be important to keep things close together to avoid swapping with closely-related objects. If these objects are far apart physically in memory it may require swapping to access both of them close together temporally.
I could imagine it being useful for menus, as they will be used together and stick around for the life of your program. I'd keep it simple for now, but if one were to use this, menus might be a good place.
Zones appear to be largely non-useful. This is what CocoaDev has to say about them. The biggest drawback to zones is that you cannot apparently set the default zone, and if you use allocWithZone on an object that creates other objects, most or all of those other objects will almost certainly be allocated in the default zone.