Another factor when it's a CDN is what they will/won't allow to be cached (and thus moving the point of mass-egress from your origin to their network).
Cloudflare has limits on the size of objects that can be cached, making it relatively impractical to use for a download-focused site with resources more than a few hundred MB.
To be exact, it has a limit of 512 MiB for free, pro, and business, and 5 GiB per file in enterprise. Their proxying service also has an HTTP upload body size limit of 100 MiB, which is 500 MiB for enterprise.
Cloudflare has limits on the size of objects that can be cached, making it relatively impractical to use for a download-focused site with resources more than a few hundred MB.