WP Cache is useful so that you do not recreate pages for every visit.
If nothing is cached at Cloudflare, then it will hit your origin server. So, having cached copy helps to speed up caching at CF edge + it loads faster for end user.
The thing with Cloudflare is, all the edge locations are independent and have separate caches. So, If user from UK visits your site, first time there will be no cached copy so it will simply request it from origin server and cache it. For subsequent UK visitors, it will simply serve this cached copy. Now, If another user from Canada visits your page, it will not be cached in Canadian pop/ edge. Again, it will hit your origin and cache it on the edge. For subsequent visits from Canada, it will serve cached copy.
In case of Cloudflare APO, it allows access to workers. Basically, if it encounters an edge location which doesn't have the page cached, it will simply request it from the closest Cloudflare edge location rather than your origin.
If you are not willing to spend $5, you can warm up caches from multiple locations so cached copy of your site is present on edge servers. Checkout this site on how to do this -
Code:
https://community.cloudflare.com/t/warming-up-cache-geographically-using-webpagetest/35447/2