I must miss something here. I've tried various CDNs such as KeyCDN, BunnyCDN, etc., but they all offer lower speeds than Cloudflare for a simple reason:
Cloudflare does not require additional DNS lookup or connection.
This factor seems to outweigh everything else. The tests on webpagetest.org show that the extra connection time makes all the difference. Because Cloudflare is a reverse proxy, I do not need to rewrite my URLs and the user's browser does not need to log in again.
Yet … I must miss something. Cloudflare is a free service and other CDNs are paid. How is it possible?
Related question: Will the use of "dns-prefetch" for a CDN expedite the first loading the page of my site?