Base64 and URL encoding (percent-encoding) are both encodings, but they exist for opposite reasons. Base64 turns binary data into a compact ASCII string so it can travel through text-only channels. URL encoding escapes unsafe characters so a value can sit inside a URL without breaking it.
People confuse them because both produce funny-looking strings, yet swapping one for the other causes bugs. Base64 makes data bigger and safe for transport; URL encoding makes specific characters safe for a specific context.
