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