I've been using some sort of DVR since the technology was young. I've not used every option out there, so I can't speak for the commercial offerings like Tivo, et al. What I do have some experience with are the offerings from Microsoft, MythTV (and several derivatives), and a few "install this on your XP box" software applications. It all boils down to what you want, what you're willing to do (and pay) to get it and what you're willing to put up with.
Being a bit more on the tech-savvy end of the spectrum (and a cheap bastard!), I ultimately settled on MythTV in a backend/frontend configuration. I settled on Mythbuntu and MiniMyth, but I can't say it's a flawless system. In a "normal" family environment, it may not have a high WAF - something that even as a geek, I'm not thrilled with. I will say however that I feel I'm pretty close to having it reliable enough to go full-on. It takes more than a basic understanding of computers and networking, and a bit of Linux experience to boot. Certainly not mainstream.
Windows simply wasn't stable enough - sure, it may take a small bit of fiddling to get the Linux solutions *working*, they're generally a bit more solid than the Windows solutions I've used. Crashing or locking up halfway through a movie or show is simply unacceptable to me - something Linux has never done.
So in short, my list of factors and features in order of importance goes something like this:
* stability/reliability/consistency - if it does the same thing every time and doesn't stop until it's supposed to, it's easier to resolve issues and makes for a much more enjoyable experience.
* ease of use - the ten-foot UI as it's called must be just that. I (and more importantly, the members of my family) need to be able to control 100% of the system from the couch. If I have to have a keyboard, it's still a PC with a TV-out card, not a dedicated STB and nor should it be.
* intuitive UI - any system will take some "getting used to", but the menu system needs to be well laid-out. A good example of a bad menu is the interface by many of the cable companies I've seen in their STB's.
* sensible features - a media center should be just that - a media center. It should be able to play anything from movies to television shows to DVD's to network-shared files, whether they're images, videos or audio files.
* extensibility/flexibility - nobody is going to want the exact same feature-set out of any given system, so it should be able to adapt to the environment. I personally don't play the stereo at the house so much, so my system's build wasn't built with much focus on MP3's. I do however like to pull the weather and traffic up in the morning, and that's only a few mouse-clicks, err, button-clicks on the remote away.
Take some time and explore the options and the features they provide. Try some and weed out the ones that don't fit the bill. I personally don't think there's anything out there that's perfect, but if you do the research that you'd do for any other major endeavor, you'll be able to make an educated decision