Fruit Bats, hands down.
In either case, money shouldn't be a consideration, as at most you're making less money per day out of the cave than a single chicken producing an egg per day can provide. It is such an insignificant drop in the bucket that it simply isn't worth your time and effort, compared to other things you could be doing, from a pure cash perspective.
Therefore, let us consider the utility.
Mushroom cave can provide early access to the Exotic Forage Bundle and can also be used to make Health Elixirs. However, the Exotic Forage Bundle isn't particularly challenging to complete and health elixirs aren't particularly amazing, you won't have them in any substantial quantity at any rate.
Bats can provide fruit tree fruits, which can be used to complete the Artisan bundle, which can be mildly annoying to complete, and can substantially reduce the amount of effort needed. Furthermore, if they provide a pomegranate you can use it to complete the otherwise annoying Enchanter's Bundle without needing to plant a separate pomegranate tree.
So in short, Bats are better from a bundle completion perspective, and it's about a wash on cash. In theory, mushrooms can provide better yields, but most fruits from the fruit bats can be brewed or preserved to boost profits if you have the spare capacity for processing.
But the biggest reason to chose fruit bats over mushrooms?
When laying out your paths on your farm, and asking the local handywoman to build you some sheds for production storage, and she asks where the paths are going, you can respond:
To the Bat Cave, Robin!