A dictionnary makes a key (string) correspond to a value (like a variable sort of, but more dynamic).
An Array makes a combination of 1,2 or 3 coordinate correspond to a value.
An Array is more powerful to apply/modify things for every single value for exemple, while a dictionnary is easier to use to store values and retrieve them, or save it quickly t the webstorage.
At the end, you could theorically use only 2D or 1D arrays to do the same job, but it is not as clear.
PS: The Json format of the array is not the same as the dictionnary one.