It does not offer unlimited bandwidth. Unlimited bandwidth does not exist and is an impossibility. It is only a marketing term that states "the limit is higher than most users require". There is always a catch somewhere when anything is unlimited. With something that says unlimited, you are worse off than a service that has a specific known limit (or pay per use).
Read:
https://www.cloudflare.com/terms/
SECTION 10: LIMITATION ON NON-HTML CACHING
You further agree that if, at CloudFlare’s sole discretion, you are deemed to have violated this section, or if CloudFlare, in its sole discretion, deems it necessary due to excessive burden or potential adverse impact on CloudFlare’s systems, potential adverse impact on other users, server processing power, server memory, abuse controls, or other reasons, CloudFlare may suspend or terminate your account without notice to or liability to you.
So if you cost them too much, they can stop providing you a service without notice.
Plus, what guarantee do you have that their service will not have large outages when you pay nothing?
Update
From a business perspective, CloudFlare can offer a free CDN as some of the free customers become paying customers. This provides a large marketing opportunity and helps cover the cost of the free tier.
If you place a large burden on the CloudFlare systems, you are likely to be encouraged to upgrade to a paid plan, or CloudFlare may limit the number of items being cached