They differ in many aspects, but here's the essence IMHO:
HTTParty:
- Uses net/http
- Some magic (e.g. parse JSON responses)
Faraday:
- A wrapper around most of the http libraries out there (excon, typhoeus, net-http-persistent, etc.)
- Allows to craft the request and response middleware that suits your specific needs.
I personally prefer Faraday, as it allows me to switch to any http library, and because it allows very fine-grain control over the request and response.