WordPress sends email via PHP's mail() function by default. It technically works, but the mail almost certainly ends up in spam. The reason: your server probably has no SPF, DKIM, or DMARC configured, and shared hosting IPs are often blacklisted.
SMTP plugin
WP Mail SMTP or FluentSMTP. Connect WordPress to an external email service actually built to deliver email. Install, configure SMTP server, port, authentication. Test with the test mail function. Takes five minutes.
Transactional email services
Mailgun, Postmark, Amazon SES, Brevo (formerly Sendinblue). They handle SPF and DKIM for you, have high delivery rates, and cost next to nothing for normal volume.
Postmark has the best delivery rate in our tests. Mailgun is cheapest for high volume. Amazon SES literally costs pennies per email but requires more configuration.
What WordPress sends
More email than you think. Password resets, new users, WooCommerce orders, form notifications, comments. If just one of these fails (a customer not getting their order confirmation), that's a support ticket.
Email templates
WooCommerce emails can be customized under WooCommerce → Settings → Email. Colors, logo, footer. But don't go overboard with design. Simple, readable text converts better than advanced HTML templates in most cases.
In summary: connect WordPress to a real email service via SMTP. It's one of those things that should be standard with every installation but never is.