Encryption is reversible — encrypted data can be decrypted with a key. Hashing is one-way — recovery is impossible. Passwords need hashing; data that must be readable (e.g. an API key) needs encryption.
A random string added to a password before hashing. Protects against rainbow table attacks: identical passwords for two users produce different hashes. bcrypt and Argon2 include a salt automatically.