Use when a file or module is growing large, when deciding how to break up code, or when optimizing bundle size with lazy/dynamic imports. Applies to both source organization and runtime loading.