OK I have learned more about CloudFlare in the last day or so, I even signed up with them.
Basically you point your DNS to them so your www. traffic is routed through them. They block bad bots & traffic, and let the good traffic through to your website. It's the web server you use now that serves the pages, however CloudFlare acts as a DNS for static objects (css, js, png, jpg, etc).
So the PHP/MySQL and all those requirements all fall back to your existing host/server. The only thing that might be an issue is the IPs or visitor sessions.
I'm still learning more, but I may experiment with this anyway.