I've found bullet storage useful to split a longer hauling task into two short hauling tasks for better crew response when space constraints prevent the ammo factories being next to the weapons.
For example alternating this module

with this module

There is no way to get the ammo factories any farther forward and able to feed both cannons due to door constraints. Without the ammo storage there will be breaks in firing due to the guns not generating hauling jobs soon enough.
I've never run into the same issue with missiles even though missile factories are larger. Missile batteries tend not to be as width constrained and benefit little from very dense shielding because of their extremely wide firing arcs. If one were trying to maximize launcher and shield density one might use missile storages similarly.
Energy storages can help with drain spikes on shields. A reactor cannot optimally serve two shields, but a reactor and a storage can if no other nontrivial components are leaching or if there's access to the power supplies for other shield sections that aren't being shot at. This is the only case where storage should be used as storage rather than as a way to split a hauling job in two.