Да я просто не понимаю, какой ответ ты хочешь услышать. В твоем примере, и на твоем вопросе "в чем принципиальная разница" - я могу только спросить, а где тут _принципиальная_ разница?
алгоритм, как правило, имеет два типа стоимости: скорость выполнения и требования к ресурсам. вот по этим показателям и надо сравнить, они принципиальные. то что ты написал "_принципиальная_", ты имел в виду "большая" или "значимая". ну так вот, на коротких тестах/микробенчмарках у меня современный перл требовал для хешей в два раза больше памяти и в два раза медленнее, чем для массивов. если для тебя в два раза это "не существенно", ну я не знаю. когда, к примеру, большая часть памяти занята данными из таблиц, а строки лежат в хешах, а не массивах, то это прямой перерасход ресурсов в два раза.