Array saves as "location" and Dictionary as named keys.
Most of the time I would use Array for inventory and tiled maps. It is easy to compare positions by slot ID and check if they are occupied or not.
Dictionary is also very useful for all kind of things. For example you could use it as container for instance to have some extra variables if you need to make them at runtime.
There is a lot that both can do. Just sometimes one or another could be more suitable for the task.