Where canvas is pixels, SVG is XML. <svg> contains shape elements — <rect>, <circle>, <line>, <path> — that live in the DOM. You can target them with CSS, attach event listeners, and they stay razor-sharp at any zoom.
Use SVG for icons, logos, charts, and anything that must scale crisply or respond to interaction. Use canvas when you're pushing thousands of pixels per frame (games). The viewBox defines the coordinate space.