The <div> is the all-purpose box. It carries no semantic meaning; it exists to group elements so you can style or position them together, or target them with JavaScript.
Because it's meaningless, prefer a semantic element (<section>, <article>, <nav>) when one fits. Reach for <div> only when you genuinely just need a styling wrapper. Its inline cousin is <span>.