I'd like to build a dapp utilizing the power of the Ethereum blockchain and IPFS. Right now, my plan is to have users sign up to use the app and store their account data + files on IPFS through a public infura node.
I understand that any monetary transactions between users will be handled through solidity smart contracts on the main chain, however, I don't understand whether or not I'd want the account on the blockchain as well. If I understand correctly, this would require users to pay ETH to create an account. Why not just store account data completely on IPFS for free and use the blockchain solely for sending and receiving ETH? What benefits would come with storing each user's IPFS hash on the blockchain?