For a long time these were near-identical products with different colour schemes. They have diverged, and the divergence is mostly about Next.js.
Vercel builds Next.js. Every new Next feature — the App Router, partial prerendering, streaming, the newer caching primitives, image optimisation — ships on Vercel first and works there best. If you use Next.js and you want the current version rather than the version that's been stable for a year, Vercel is the path of least resistance by a wide margin. The DX is also, still, the best in the category: preview deployments per pull request, instant rollbacks, sensible defaults, and analytics that answer the question you actually had.
Netlify has spent its energy on being the neutral option. Excellent support for Astro, SvelteKit, Nuxt, Remix and static site generators generally, a build system that doesn't assume your framework, edge functions on Deno, and — the part people actually notice — a bandwidth and build-minutes model that is easier to predict.
Our call: use Vercel if you're a Next.js shop and the productivity is worth the premium. Use Netlify if you're not, or if the bill matters more than the last five percent of framework polish.
And be honest about the third option. Both of these are premium-priced abstractions over infrastructure that Cloudflare, Render, Railway, Fly and a plain container on Hetzner will run for a fraction of the cost. The vercel alternatives hub compares all of them on the same fields, including the bandwidth pricing that drives most migration decisions.