For me comes down to whether the site can use Cloudflare dns. For example on of my web sites operates over a cluster of 32 vps servers in London, Tokyo, Sydney, Melbourne, Seattle, Los Angeles, Dallas, New Jersey, New York, Washington DC, and Singapore via Amazon AWS Route53 geolatency/geoDNS based DNS. Cloudflare's service and DNS doesn't support that currently - but Cloudflare's
Traffic Manager service currently in private beta does for geo proximity based DNS routing to geographically based origin backends with Cloudflare Traffic Manager's load balancing and health checks. So waiting on public release of Cloudflare's Traffic Manager
So for such a site, I can not use Cloudflare as I need to change the DNS for my domain to Cloudflare. But technically you can work around that easily if you just cant' change DNS and are
not using geoDNS - by setting up canonical mirror of your live site on a separate domain on Cloudflare's full proxy service and editing your site's style to use that separate domain for static assets
But then if you're using HTTP/2 based HTTPS for your site, optimally you don't want static assets on separate domain for performance reasons either
So as I said, depends on the site and it's requirements. Above are just a few examples