Ryan Florence gives an excellent summary of different caching and build strategies for your website or app.
The most exciting aspect of this whole video is the stale-while-revalidate cache control header. This allows server side rendered sites the ability to always be served from a CDN (besides the very first request) similarly to static site generated pages.
Unfortunately, not many CDNs currently support this. Out of the large CDNs including CloudFront, Cloudflare, and Fastly, it seems that just Fastly supports it fully, while Cloudflare "supports" in a partial and imperfect way. Smaller networks like Vercel also support it.