Cloudflare isn't a true CDN, but acts more like an "advance proxy" in the since that it will pre-fetch your static content and add "buffer" between your site and your users.
MaxCDN to my knowledge, you actually can upload content directly to them.
I'm not any kind of network expert. But how do these differ? In either case the cdn has copies of your material; in both cases they were up/downloaded. In both cases they're served from someone else's server.