I know they're both used for receiving BTC, but what's the difference please im so confused.
Almost all wallets can not support this because the wallet developers know how vulnerable such coins can be from quantum computers in the future. The right way to receive coins is through the bitcoin address.
Short exp: Bitcoin Address is an encoded hash of a public key, making it shorter and easier to use.
Both are easier to use. It is just about copy and paste as long as a wallet is supporting it, but using public key is not advisable for security reason. In fact, wallets are not supporting it.