Logitech Harmony remotes are a bit pricey, though worth it if your system has more than 2 or 3 devices. Ours does double duty: in our complex home theater environment, and in the bedroom (see the just-previous post for details).
But a universal learning remote like this $10 one can do the job quite well if you don’t have a separate sound system. The major caveat is that you will probably need to program some of the buttons in a non-intuitive, spouse-unfriendly way.
My wife uses a standard cable remote for TV/cable in the den (yes, we still have cable, to date). I prefer to have all devices and controls on this single remote.
My X10 Universal 5-in-1 Learning Remote controls the den TV, cable box, DVD/VCR combo, Roku box, plus all X10 devices in the house. (X10 commands are sent via RF, all others by IR.)
I had to teach it some of the cable buttons, like Page Up, Page Down, Guide, Info, A, Last, DVR List, Live, and the 7-seconds-back button. My choice of buttons to repurpose is basically arbitrary (though I made up a few mnemonics to help me).
(2/26/2015 update: we have cut the cord, so the cable buttons now control a TiVo. Details in the post, Teaching TiVo to the X10 universal remote.)
The VCR/DVD player had to be handled as 2 separate devices (I use the SAT button to select the DVD side). The Eject function, I taught to the B button, and a couple of other functions had to be learned on the C and D buttons. When we use the player (infrequently in these days of streaming media), I usually need a refresher from my notes.
When you select X10 (home automation), all buttons are fixed and cannot learn other functions.
I even found a way to include the Roku controls, making it a 6-in-1:
When TV is selected, most of the buttons are needed for the TV, except ENT, A,B,C,D and the transport buttons (REW, PLAY, PAUSE, etc.)
However, if you turn the remote to the right by 45 degress, the A-B-C-D buttons can form a set of screen navigation arrows for Roku. ENT becomes the OK/Enter button, and REW, FF, PLAY, PAUSE can become the Roku version of themselves. Since there is no way to record with the Roku, the REC button can be the Home button. Use the Learn button to make it so.
Beats reaching for another remote.
Turn off the decorative lights on the patio before going to bed? Turn on a bedroom light? No problem, the remote can do it with X10 automation.
I can remember which buttons are repurposed from frequent use, and I did document the changes, but it would be cruel and unusual to ask a normal person to use the remote this way.
So it’s best for the poor (or at least budget-minded) man with a good memory.