There are a lot of different parts of cryptography.
The titular difference, however, describes the encryption keys.
A symmetric encryption algorithm uses a single shared key to both encrypt and decrypt data.
An asymmetric encryption algorithm uses two linked keys, one to decrypt and one to decrypt.
It is sometimes referred to as shared-key encryption.
This property of using the same key to encrypt and decrypt can be a bit of an issue.
so you can use a symmetric encryption algorithm you should probably be able to communicate it securely.
But you cant do that without already having a secure means to communicate.
Thankfully, this problem can be solved with asymmetric encryption but its worth understanding.
The keys for symmetric encryption algorithms tend to be quite small, at least when compared to asymmetric encryption.
Symmetric encryption algorithms are also fast when compared to asymmetric algorithms.
All of these properties make symmetric encryption algorithms particularly useful for bulk encryption of data.
This is especially the case when speed is an issue.
Stream ciphers and block ciphers
AES is probably the best-known symmetric encryption algorithm.
AES is a block cipher with 128-bit blocks.
A block cipher works by encrypting blocks of data at a time.
Each block has to be the same size.
A variation of this concept is the substitution cipher that works on letters.
Substitution ciphers are vulnerable to frequency analysis and so are typically unreliable and unused.
Stream ciphers dont have this issue though.
Symmetric algorithms tend to be vulnerable to known-plaintext attacks, chosen-plaintext attacks, differential cryptanalysis, and linear cryptanalysis.
Encryption keys tend to be relatively short and easy to transmit.
Symmetric encryption algorithms tend to be much faster than asymmetric encryption algorithms.