There's money to be made on this, but not likely by me, so I'll just throw it out there.
A couple of days ago, I had to fix my parents' TV. Again. The symptoms, as described over the phone by my mother, were horribly baffling to anyone not familiar with the modes of the remote. As it was, I kind of figured one of the three inappropriate mode buttons had gotten pushed somewhere along the line, and it was maybe trying to control the nonexistent VCR or perhaps the sprinkler system instead of the actual cable box.
And, as expected: once I was there, I just had to push the "AT&T" button (instead of "TV", "DVD", or "VCR" or whatever the options are), and it commenced to control the cable box (and, minimally, the TV), as normal.
(My father has long refused to learn how to operate a TV set, preferring to read a book.)
So here's the idea: instead of having non-indicative soft mode buttons on the remote, have a rotary selector switch with a big honkin' arrow pointing to the selected function: "TV SET", "CABLE BOX", "DVD PLAYER", "STEREO", whatever.
Either that, or stop making every remote have the stupid modes for controlling other appliances, and just go back to having one, clearly-marked, remote per appliance. But I guess that would be too easy. And appliance manufacturers would have to mark their remotes: "PANASONIC TV SET", "AT&T CABLE BOX", "SONY DVD PLAYER", "MAYTAG WASHER", and so on. And all it takes is one clown putting out modal remotes to re-introduce the confusion.
So: who's gonna make the universal remote with the big comprehensible selector lever?
Afterthought: Another thing that'd be nice for universal remotes? A USB port, or Bluetooth, or some such computer interface for configuration, plus a configuration utility. Instead of trying to look up, e.g., your TV set in a list of models to find the right magic configuration code, and then having to push the magic button sequence to enable tv-set configuration so you could enter the code, you'd just connect to your PC and run the configuration utility to do the lookup and update the configuration (alternatively, for Linux users, you'd go to the manufacturer's website, do the lookup, and save the resulting configuration file to /media/FoobyRemote3567/TVconfig.xml).