That's pretty much the review right there in the headline, but as I continue to stall actually finishing my work for, uh, work (I'm suffering from the coder equivalent of writers block on one problem at the moment), here's a quick endorsement for the Logitech Harmony line of universal remotes. While a bit expensive for most casual TV viewers, it's a great device for those of us with more than 3 things attached to the TV. I had an XBox 360, PS2, DVR, Receiver, and cable box when I bought this remote. I have the XBox 360 version which works great for the combination of devices I have. The rest of this review assumes the features of that version, though it should apply to most of them.
The best thing about this remote is that it comes with software for your home Mac or PC to configure the remote. The one thing that drives me insane about most universal remotes, including some high end ones, is trying to program the remote on the remote itself. Too often you have to point the remotes at each other and go through a manual, button-by-button programming for each remote. Ugh.
The Harmony does away with that (for the most part). It leverages a web-based service that allows your remote to pull updated definitions from Logitech. This way, they're not limited to what devices they can fit on the remote's memory. New TV in 3 years? Odds are that Logitech will have the device added into their DB. Occasionally, you have to verify which version of a particular model you have and that requires pointing its remote at the Logitech remote, but that's OK because it's easier than trying to find a revision number or firmware revision from the TV or device.
The remote also uses an "activity" based approach rather than a device based approach. So, for example, I have an activity called "Watch TV" that turns on the TV, sets it to the right input, and turns on the DirecTV DVR. I chose a couple of shortcuts I want featured by selecting them in a menu, and I have one touch access to common functions like the Guide or the List of programs on the DVR.
The great thing about this approach is that I can create a lot of activities quickly and easily. For example, I have a "Watch DVD" activity along with a "Watch DVD (no receiver)" activity. You can use either to watch DVDs, but the first turns on the surround sound and uses the receiver to control the volume while the second activity uses the TV for audio instead.
Also, because it understands typical viewing patterns, replacing devices is pretty easy. When I swapped TVs recently, I walked through a few menus and the software replaced the old TV with the new one in all the activities where it made sense.
My only complaint is really a minor issue. The remote needs to "know" whether your devices are on or off, so it's really important that you use the remote only to turn things on and off. Takes some getting used to if you're in the habit of hitting the power switch on the TV.
Trust me, it's worth the money if you have a several devices attached to your home theater. I love it and can't imagine going to another remote.