I've been searching for this answer for some time but had no success.
I've always used RestSharp and I find it pretty neat, but then realized that there's the HttpClient provided by Microsoft and it looks to cover same functionality at first glance.
(I've also heard about ServiceStack and most people seem to prefer it over the rest of the alternatives, but paying that much now is not an option - nor using the older version).
Is it just a question of personal liking, or are there really any pros and cons of using one or another - or maybe, there are specific scenarios where one of them may fit better than the other?
Thanks in advance!
It largely comes down to personal preference as you surmised. A couple points:
RestSharp came out years before HttpClient and was far superior in functionality and ease of use than anything Microsoft put out at the time.
HttpClient has a strictly asynchronous (as in async/await) API; RestSharp supports both synchronous and asynchronous calls. But unless you're stuck on an older platform and/or supporting legacy code, there's little good reason to make HTTP calls synchronously. (Don't tie up threads waiting on potentially long-running I/O!)
RestSharp covers a lot of territory that HttpClient by itself does not, most notably deserialization of responses.
I used RestSharp for several years before switching to HttpClient (I wanted async/await support, and to my knowledge RestSharp didn't support it at the time, though it does now), and eventually I wrote and released my own little library, Flurl.Http, which extends my URL builder with some fluent HTTP/deserialization methods that are little more than thin wrappers around HttpClient and Json.NET.