Swarm and IPFS address similar issues, but solve it differently.
As a developer for Swarm, I am not going to speak for IPFS.
One of the main features of Swarm is its incentivization
layer. Node operators would be paid for storing and serving data. There is also an integrated accounting protocol (Swap) which would take care of settling imbalances for participating nodes. Basically the idea is that individual nodes are incentivized to do certain actions and discouraged to do others (e.g. freeriding) and by this contributing to a healthy operation of the whole network.
As a data owner, you could also insure data (requires payment) to make it available long term, and a litigation process in order for nodes to comply with insurance (swear and swindle).
Further down the road are ideas about arbitrary service networks on top of Swarm (settling of higher level services through Swap, Swear and Swindle).
Also, Swarm provides a messaging infrastructure (PSS).
"Swarm provides censorship resistant storage and communication
infrastructure for a sovereign digital society"
Swarm's incentivization layer is not available yet, but implementation has started and progress should be expected by end of Q3 2019. The vision is to offer secure and scalable storage for Web3:
IPFS also plans to offer incentivized operation through FileCoin, but it is not yet available as far as I know.