I use CloudfFlare. They ONLY cache content. They DO NOT host files like Amazon S3 does. Non of CloudFlare's services offer file uploading.
Yes, all I want to do is have all attachments sent to Amazon S3 and be hosted from there. Segregating your content is prudent and will help to increase page load, etc. WordPress has a few plugins to host your WordPress files from Amazon S3 as well.
All CloudFlare does is offer a reverse proxy that helps increase webpage speed by caching, Java Script and CSS optimization. They even offer a "Rocketloader" which can reduce JS down even further, but it's more experimental and in my use it's caused issues which is to be expected. For their payed option of $20/month you can use their WAF (Web Application Firewall). I also use their ASN blocks and captchas for certain countries and ASNs. So in my ASN blocks I have blocked a whole host of hosting companies from connecting to my site. Like Chopa, Softlayer, Digital Ocean, etc. I also run a script that does further blocking, SPAM catching, etc. There's no reason for a host to connect to your website. In some cases it's needed for SEO purposes. Google, Yahoo, Bing, etc are allowed of course.
CloudFlare also takes care of your DNS entries as well as offers SSL Certs. One of their features is DNSSEC and since my DNS provider Namesilo has the DNSSEC option I took advantage of it in CloudFlare and in Namesilo.
Basically, your website server sits behind CloudFlare. When you go to my forum you access one of CloudFlare's edge servers near you and delivers my forum. In fact, my host's firewall wasn't whitelisting all of CloudFlare's IP addresses so things were breaking. Notably the Visual Editor in WordPress. After I had my host rewhitelist all of CloudFlare IP addresses everything went back to normal. This was do to me connecting to the CloudFlare edge server in Denver since that's closest to me. That server was blocked by my host. But using my VPN and connecting to my site from Lisbon Portugal, I was able to see the Visual editor and the site loaded as normal. Because CloudFlare was serving my site from their edge server in Portugal or near there.
Anyway. HUGE difference between Amazon S3 and CloudFlare. Although, I think S2 is hosting from Amazon. Many sites do host from Amazon. If your using Firefox or a variant of Firefox, check out the addon IP Address and Domain Information. One click and you see the WHOIS. I can see this site hosted from the Network for Education and Research in Oregon.
EDIT-
Just want to give out a few security tips.
If you do use CloudFlare and after you throw your domain in CloudFlare, have your host change your IP address. Even if you use a shared server you can get a dedicated IP address. Shouldn't cost no more than $2 extra dollars a month. Anymore and they are ripping you off. Reason is your IP will still be out in the wild west even though you're siting behind a reverse proxy like CloudFlare. Also, delete your MX record and use a third party E-mail service. Reason is your MX record will give away your real IP address despite being behind CloudFlare. I use gmail myself, but I have read that there is a 500 E-mail limit using SMTP and that could be even less and/or they count send and receive. If my forums grew larger I would go with Namecheap's E-mail service. It's like $20/year. Though I can't vouch for Namecheap's E-mail service, I've heard good things about their DNS offerings. However, I heard even better news about Namesilo, and that is the DNS provider I use. They don't offer an E-mail service that I know of unlike Namecheap which does. Great thing about Namesilo is they offer two-factor auth for your account. Not sure if Namecheap offers 2FA or not. I'm sure they do. DO take advantage of 2FA. If someone takes a hold of your DNS account you just got owned. Don't do that.
This is just as a security precaution. sudo dork-mode off