Cloudflare is honestly the best option for websites. However, it does have its downsides. I have it setup on one of my sites and 50% of the time it drives my users crazy with this. I have disabled the "active checking" but it decreases security ;(
If dealing with DOS/DDoS attacks on a web server, use Cloudflare's free mitigation service.
If you're wondering how to protect yourself against DOS/DDoS attacks on a home network, get a router that blocks IP addresses from known botnets or IP addresses that have incoming heavy traffic.