I have had dozens of remotes over the years. There are a couple really good ones out there. The Harmony is by far the best! I love the web based programming feature it has (they use a USB connection to the remote). The concept of "Watch TV" or "Watch DVD" of "Watch Dish" is so simple, almost anyone can use it. You have to have some savvy to program it, but the web interface is really helpful with that.
The only draw back I have found is the logic becomes too much for it if I want to also be able to turn single devices off. What this means ... is if you have a "old style" remote where each device is controlled by a single button at the top, you can simply push the button followed by the power to turn on and off. However, the great thing about the Harmony, is that it keeps track of what is on and off and powers them on and off for you as you change devices.
This is great for most situations. However, if I want to pause a DVD and then watch a TV show for a while, I can either tell the Harmony to always leave the DVD on, or always turn it off when I leave it. If I leave it on, then I can press play and continue where I left off. If I have it turn it off, then I have to find where I was in the show next time. If I tell Harmony to always leave it on, the the DVD player is ALWAYS on. And if I want to turn it off for since I won't use it for a while, I have to press more buttons to control that single device and power it off.
A Big deal? Not really. The trade off is much more logical and easier use most of the time.
There is a work around too. You can program any button using the web interface. So just add a power toggle for the devices like the DVD player to each function and then you have a single button way to do this. I don't bother, but I know it confuses some other people.