I know that dictionaries are a lot faster but I do not understand why.
I found the following description from Microsoft...
Each addition to the dictionary consists of a value and its associated key. Retrieving a value by using its key is very fast, close to O(1), because the Dictionary<TKey,TValue> class is implemented as a hash table.
...but that just raises the question as to why hash tables are so fast.
It feels like a free lunch to be able to save so much time using dictionaries, and unfortunately I've never seen a good (ELI5 or maybe ELI10) description.