Another satisfied Logitech Harmony user here - they are expensive, but so far, for me they've done everything I've asked and maybe a bit more. I think with these kinds of devices maybe the most important part is the variety of devices it supports, and as one of the oldest and most well-known universal remote brands Harmony supports just about everything, and they have a robust and active userbase so there's no chance of them disappearing.
Before the Harmony remote I had this other thing called 'BluMoo' which I got off amazon but I think may have been a Kickstarter thing or something, mostly because it was cheaper. It never worked very well - it used your smartphone as a remote control, the app was buggy, there was lag between pressing a command on the app and having it actually happen in real life, promised support for more devices never arrived, and eventually the company went bust and the app disappeared from the Apple and Google stores rendering the hardware useless. The Harmony system also comes with an app (which is a million miles better than the piece of crap BluMoo one), which you use to set up the device, but which can also enable any smartphone/tablet to control the Harmony system, so you can basically have unlimited remotes to control your system. And because it uses your home WiFi (rather than bluetooth) the range of your "app remotes" is only limited by the WiFi coverage in your house.
One of the nicest things about the Harmony remote is that after you set up all your various devices (TV, amp, cable box, Blu-Ray player, etc.) it has you set up "activities", like 'Watch TV', 'Watch DVD' etc. You tell it all the devices that are involved in the activity, and which inputs those devices need to be on, and it saves that information. So for example, if you wanted to watch TV, instead of having to use your remote to turn on the tv, turn on the amp and set it to the TV input, turn on the cable box, you just press 'Watch TV' and the harmony remote does all of that for you, and in that activity most of the remote buttons control the cable box aside from the volume +/- buttons which control your amp volume. I'm not normally one for "automatic transmission" type technological time-savers (I like to just do things myself) but I've found this feature really useful - it's turned a mass of various components into one unified system, which I think is exactly what a universal remote should do.