You define styles that only apply above (or below) a given width, e.g. @media (min-width: 768px) { … }. Common thresholds cluster around 640/768/1024/1280px — not numbers tied to specific device resolutions, but empirically the widths where content typically starts to feel cramped.
Current best practice is to pick breakpoints from where your own content starts looking bad, not from device categories (phone/tablet/desktop) — literally drag the browser window narrower until wrapping looks wrong, and put the breakpoint there.
Mobile-first is also the default approach: write base styles for narrow screens and widen with min-width queries, rather than starting wide and narrowing with max-width — it's easier to maintain.
When to use
Use it when the layout structure itself needs to change — column count, navigation style. When only one component needs to adapt to its own slot, container queries are the better tool.