Typically, you would structure content types under other content types (parent-child relationships) if there is a logical relation between these. In this case, for example, you'd place the Carnival of Venice under Venice, as it doesn't happen anywhere else.
In another example, if you have another festival, that can happen in one city this year, but in another - the next - it doesn't really make sense to place it as a child content type of "Cities". If it's relevant to a country, i.e. it will happen for example in Italy for sure, you can make it as a child content type of "Countries".
In any case, you can relate "Festivals" to "Cities" using a related data field, regardless of their position in the parent-child structure of a module.
Hope that helps!
Grisha 'Greg' Karanikolov
Do you want to have your say in the Sitefinity development roadmap? Do you want to know when a feature you requested is added or when a bug fixed? Explore the Telerik Sitefinity CMS Ideas&Feedback Portal
and vote to affect the priority of the items