I run TVHeadEnd for the backend and Kodi as the frontend. I used to use Mythbuntu for the backend and the Myth TV frontend but got frustrated by it. It's a good program when it actually works but if your backend and frontend aren't the same exact version they won't work together, which is really stupid because on Linux systems you are pretty much stuck with whatever version is in the repository for your distro. So if you upgrade the backend to a new version of Mythbuntu, you are pretty much forced to upgrade all your frontend boxes at the same time, at least if you want to run the Myth frontend. And Myth has some other peculiarities as well and I finally just got tired of dealing with them. So now I use TVHeadEnd and Kodi, and I use zap2xml for schedule data since mc2xml stopped working (after Microsoft changed to a new schedule provider and it broke everything) and it all seems to work quite well.
The big problem with all these backend programs is that if you are not a Linux guru to begin with, there can be a pretty steep learning curve. Once you get everything figured out then it all makes sense, but getting everything to work in the first place can be kind of a gut-wrenching experience, especially if you come from an environment where you are use to just installing a software package and doing a slight bit of configuration and it works. That's pretty much how it is with TVHeadEnd once you know what it expects in the way of configuration, but getting to that point can be an exercise in frustration - but I think that's true of every PVR backend out there, at least the ones that run on Linux.
I've never tried NextPVR but that's mainly because I don't do Windows, especially on any kind of server. If it's designed for Windows users it might well be a lot easier to set up and configure, because the authors probably make no assumptions about the experience level of their users. If Windows were free (for everyone) and if it wasn't such a virus magnet I might actually consider using it, but Linux wins on both counts, so that why I prefer to stick with it even though I get extremely frustrated with it when I can't figure out how to do something.
(I just realized I used the word frustrated or frustration at least three times - that's kind of how I feel about Linux much of the time! But I still plug away at it.)