Cloudflare isn’t broken, your implementation was.
Let’s Encrypt won’t enroll a certificate while CloudFlare is proxying. It prevents the verification from going through.
You can’t use any of their ‘performance’ features with Discourse as it alters the already-minified code.
All CloudFlare can do for you is hide your IP and act as a CDN for your uploads. The benefits are minimal.