Backblaze kind of limits this by requiring their backup client to have seen a given file in the last 30 days. Beyond that the file is eligible to be pruned. So in practice people dumping data into Backblaze can only keep it there for 30 days, or must have an equivalent amount of storage space locally.
Incorrect. For an additional $2/month Backblaze will keep one year of version history.
They also have a "Forever history" offering, which is essentially a plug-and-play integration with B2, priced at $2/month + $.005/GB/month for versions deleted more than 1 year ago.
Sure, you can up the window to a year, or pay the normal rate for B2 on top of your subscription (albeit you don't pay transfer costs).
However, you still need to rotate the data and Backblaze doesn't exactly make that process easy for this use-case. You need to go into the UI and manually select the data you want, wait for it to be packaged up, and then download and restore them to the proper locations. If the files were deleted you also need to mess around with the timeframe in the UI.
This sounds like a poor UI, but for their normal backup/restore users it's fine since you generally want to restore an entire device or you're picking out a particular file you need. This really only breaks down if the size of the device backup exceeds the actual storage capacity of the device, which is probably a rare-ish occurrence. But also, restoring from backup is something that should rarely have to be done anyway.
My point still stands: Backblaze is able to offer "unlimited" storage by making the backup/restore use-case easy, but making the "additional cloud storage" use-case tedious. This generally puts an upper bound on that "unlimited" amount based on how much local storage users actually have.