Encryption is powered by random numbers, but how do you generate a truly random number? The current millisecond? The number of processor threads in use? You need a starting point. This is called a seed: it kicks off a random number.
When you hash a string, it will always end up with the same hash.
acbd18db4cc2f85cedef654fccc4a4d8 every time.
This is a problem when you want to store things that you want to keep truly hidden (like passwords). If you see
acbd18db4cc2f85cedef654fccc4a4d8 you always know that it is
foo. So, you simply add a "salt" to the original string to make sure that it is unique.
So 'salt' makes a 'hash' better by obscuring the original text.