Многие структуры данных более высокого уровня (включая List) используют массивы для внутреннего использования, это единственный способ сохранить необработанную последовательность в памяти - поэтому массив должен существовать на языке программирования, иначе у вас не будет структур данных более высокого уровня .
Мое мнение таково, что если вам не нужно (например, потому что вы используете компонент, который требует его), вы никогда не должны использовать массивы - особенно не пишите код, который возвращает массивы, они принимают массивы в качестве параметров, поэтому вы не должны заставлять других использовать массивы тоже.
Единственное исключение (на мой взгляд) - это тот редкий случай, когда вам нужна коллекция известного фиксированного размера в качестве локальной переменной, чем просто кажется расточительным использовать что-то еще.