NFTs do neither, at least not for the thing it is associated with.
In his article on Web3, Moxie Marlinspike wrote this:
> So as an experiment, I made an NFT that changes based on who is looking at it, since the web server that serves the image can choose to serve different images based on the IP or User Agent of the requester. For example, it looked one way on OpenSea, another way on Rarible, but when you buy it and view it from your crypto wallet, it will always display as a large [poop] emoji. What you bid on isn’t what you get. There’s nothing unusual about this NFT, it’s how the NFT specifications are built. Many of the highest priced NFTs could turn into [poop] emoji at any time; I just made it explicit.
This is why if you're going to spend any notable amount of money on an art NFT you should ensure that it precisely identifies (e.g. by an IPFS content ID) the specific artwork it's related to. An art NFT that just points to some random server which could change its response at any time isn't worth the cost of its bits.
User david_ar had this great comment about IPFS and permanence:
> You shouldn't read "permanent" as "eternal", but as "not temporary" --- in the same sense as "permanent address" or "permanent employment". HTTP is temporary in the sense that you're relying on a single server to actively continue serving a file for it to remain available. IPFS is permanent in the sense that, so long as the file exists somewhere in the network, it will remain available to everyone.
> Edit: If you want to ensure your content remains available, you still need to host it somewhere (your own server, convincing/paying someone else to, etc). IPFS isn't so much about storage as it is about distribution.
IPFS ensures the file won't change but says nothing about availability.
I never claimed that IPFS magically ensures permanent storage, but the connection between the IPFS content ID (hash) and the content is permanent: If you have a copy of an image or other data, and an NFT with an IPFS content ID, you can show that your file is the one associated with the NFT. That's true even if the entire IPFS network were to disappear since verifying that a file matches a content ID is something you can do locally without depending on IPFS.
As to permanence, IPFS makes it easy to pin any available data on your own node to ensure it stays around. Even if it disappears from the network for a time it can be re-added with the same content ID as long as someone retains a copy. Just make sure you save it somewhere, preferably before spending money on the NFT. If the file completely disappears your NFT won't be worth much.
In his article on Web3, Moxie Marlinspike wrote this:
> So as an experiment, I made an NFT that changes based on who is looking at it, since the web server that serves the image can choose to serve different images based on the IP or User Agent of the requester. For example, it looked one way on OpenSea, another way on Rarible, but when you buy it and view it from your crypto wallet, it will always display as a large [poop] emoji. What you bid on isn’t what you get. There’s nothing unusual about this NFT, it’s how the NFT specifications are built. Many of the highest priced NFTs could turn into [poop] emoji at any time; I just made it explicit.