SendGrid is the incumbent. It's been the default answer to "how do I send email from my app" for over a decade, it's owned by Twilio, and it does everything: transactional API, marketing campaigns, contact management, template editor, dedicated IPs, sub-users, and enterprise agreements with the compliance paperwork attached.
Its problem is that all of that shows. The API is dated, the dashboard is heavy, the documentation is a maze of overlapping versions, and the onboarding involves account review and sender verification that can take real time. Free-tier and low-volume accounts have historically had a rougher deliverability experience than paid ones, because a large shared platform inevitably carries a mixed reputation.
Resend is the modern reimplementation of the transactional half. Small API, excellent docs, React Email for templates, domain verification in minutes, webhooks that are pleasant to consume, and a dashboard that shows you what you need. It does not attempt to be a marketing platform, and that focus is the product.
For a new application sending transactional email, Resend is the better developer experience by a wide margin and we'd recommend it by default.
For an organisation that needs campaigns and transactional in one contract, with enterprise support and procurement-friendly terms, SendGrid remains the more complete offering.
If cost per message is the binding constraint at high volume, both lose to Amazon SES, which is roughly a tenth of the price and gives you a fraction of the product.