TL;DR โ HTTP Proxy for browsers and curl; SOCKS5 for everything else.
Protocol coverage. SOCKS5 forwards TCP (and UDP if client supports it) for any application โ Telegram, IRC, SSH, BitTorrent, custom binaries. HTTP Proxy only carries HTTP and HTTPS-via-CONNECT โ fine for browsers, useless for arbitrary apps.
Setup. HTTP Proxy plugs into OS network settings or a browser extension. SOCKS5 needs an app that supports it natively (Firefox: yes, Chrome: only via SwitchyOmega; Telegram: native).
Auth. Both support user+password basic auth. Neither encrypts the password โ these protocols rely on TLS inside the tunnel (HTTPS for HTTP Proxy, app-layer TLS for SOCKS5).
Speed. Identical at the protocol level. SOCKS5 has less header overhead per request.
DNS. socks5h:// pushes DNS through the proxy (no local leaks). HTTP Proxy proxies DNS only for HTTPS hosts you visit through it; everything else still leaks.
Pick HTTP Proxy if you only need browser tunnelling. Pick SOCKS5 for any non-HTTP app.