The biggest difference is MaxCDN is a real CDN and Cloudflare is not (at least the free plan). The Cloudflare "CDN" is basically a distributed reverse proxy. You must also host your DNS with them. As a reverse proxy it can mitigate web attacks and reduce bw utilization at your host. However Cloudflare does not offer/use the traditional CDN features of Origin, Edge, and Caching like MaxCDN and other CDN services (e.g., Akamei, Edgecast, Cloudfront) do.