I think that you have to look at how CloudFlare is billing itself. It's a simple solution for people who want to have a faster website. It's easier to implement than most other caching or CDN and that $20 plan is likely limited to sites under X amount of traffic.
The company is only sitting on around $2 mm in funding (if memory serves me) so it's either making a decent sum of money from people who find value in that accidental CDN or it's going to fizzle out quickly due to lack of funds.
The thing that you have to keep in mind is that (likely) the vast majority of its customers aren't on the same level of technological prowess that you have. CloudFlare is aimed at people who run sites and just want them to be easier to run while working better and being safer. There's a lot of money to be had from a service that can fulfill that request.
Oh, and as for the expensive PR-spin, this is the first time I've heard from CloudFlare in 8 months, even after specifically asking them to get in touch with me. If I'm not mistaken, the company has done very little PR. They've gotten attention in a way that many people seem to have forgotten -- by having a good product.