Dynamic Component Rendering with NgComponentOutlet
Explain how NgComponentOutlet renders a component type chosen at runtime, and when it's preferable to structural conditionals.
Most of the time you know at compile time which component goes where in a template, but some UIs genuinely need to pick a component class at runtime — a plugin-style dashboard where each widget type maps to a different component, or a CMS-driven page where content blocks are rendered based on a type field from an API response. NgComponentOutlet is the built-in directive for exactly this: point it at a component class (a value, not a selector) and Angular instantiates and renders it in place.
It's like a hotel's universal outlet adapter — you don't rebuild the wall socket for every appliance a guest brings; you plug in an adapter and let it accept whatever type of plug is presented at check-in.