Not a noob question at all. I find that I don’t need a pool for most of my use cases. If I do need one, I’d rather handle it myself.
A pool helps when you need to do multiple subsequent requests to the same host. You could spawn a new process for each request, but then you might overload the target with too many connections. A pool will limit the amount of connections to a single host and reuse connections to optimise throughput.
HTTPoison / hackney is actually pretty nice. It will keep a single connection open and re-use it for next requests. I just prefer Mint over hackney because of stability and correct SSL handling.
Awesome library, I find myself making a one off request to an upstream server, most of the http clients maintained a connection pool to the server after the initial request which was unnecessary in this context. Mint was too low level, I just stumbled across this library.
One reason to prefer a process-less over a process base will be the overhead of copying the response.