I’m not quite sure what you mean by “the device” but IPFS kind of blurs the line between what is a cache and what isn’t a cache and probably depends more on how you think of it or how you use it than anything else. Since the data is immutable all the world’s a cache. There’s nothing to invalidate because it’s immutable and my copy is just as legitimate as any other copy. So it’s kind of zen where everything’s a cache and nothing’s a cache.
That depends. There seems to be a lot of confusion over this subject. Yes if there’s a server, somewhere out that has that data and is willing to share it, it will be there. There is no guarantee that there will be a server out there with a copy that is willing to share it. With IPFS you can’t make anyone store something. You can provide your own node that will make it very easy for someone else to copy it but you can’t make them copy it so it will be available as long as you keep that server running to make it available. You can ask someone to copy it and then it will be available as long as they are willing to do it, or you can pay someone to do it, in which case it’s available for as long as you pay them to copy it.
It makes sense when you consider that you can’t obligate the world to host your content in perpetuity just because you put it there.