The fees is to prevent spam attacks and to pay miners for securing the network. If there was no fees bad actors could fill all the blocks with transactions for themselves for free and no one could use, if the they have to pay, they will be spending money and more each time if the blocks fill. It is also to pay miners, if there were no fees miners could just mine empty blocks, with fees they earn more money by putting transactions in blocks.