Зачем js массивы, если есть объекты?
Массивы - это те же объекты, но со своими методами и фишками (детишки дядюшки Array), типа length, sort, join, splice, slice и т.д.
В них есть четкий порядок, так как ключи представлены в виде последовательных чисел. И это главная причина по которой их используют - их можно всячески кромсать, сортировать, добавлять в них новые значения в определенных точках.
По факту ["A", "B", "C"] можно представить как new Array("A", "B", "C") и отсюда как {0 : "A",  1 : "B",  2 : "C"}.
Кому нужен массив - использует массив, кому словарь - словарь.