There are certain 'why' that we may have missed, so I am trying to attend them...one by one.
o Why do we need hash table?
Of course, for better, faster search. It could even get us an element in O(1).
But we need to use hash because if given data is in a form which can't be ordered; we need hashing. Example can be images. How will you order a set of images and search any.
Hashing comes to help here. It generates a unique(ideally) hash key for given such data. We save these keys in a hash table. So searching an image is now searching a key in hash table. Keys are generated with a hash function. More about that later.
To be continued with more whys.