The case is the basic unit in FogBugz. When creating a case it has to be assigned to a Project, an Area, a Milestone, and a Category.
Sometimes it is confusing what is the best approach to organize our cases around these case properties.
Project and Areas provide categorization on the axis of function/feature group/modules. Eg: to which product or feature set does the case pertain.
Projects can be organized into Project Groups providing an additional level of organization.
Milestones provide categorization on the time axis. Eg: when a given case is planned to be delivered, in which Release, or which Sprint.
The case Category provides a categorization at the work unit level. Eg: is it a bug, feature, enhancement request, etc.
Cases can be organized in parent-level structure using sub-cases.
Cases can be tagged, providing an additional flagging type of flat level of categorization/filtering. It doesn't matter in which project, area, milestone, or category is the case, when filtered on a given tag, it will be shown in the search result set.