So in comes an activity based remote like the Harmony to the rescue. Now you have one remote that will at the press of one button send all the correct IR codes needed to watch a movie. The problem comes when the remote and the device get out of sync. Lets say the TV was already on and the remote sent an IR power toggle command? Yep, now it's off, which is obviously not what you want when you're ready to watch a movie. This is where discrete IR commands come in. The remote knows the TV should be on, so it can send a command that it knows will always turn the TV on, even when the TV is already on, so the command will just be ignored. This way the remote and the devices can never be out of sync.
This is even more important when you start talking inputs because there is practically no way for the remote to know what input the TV is currently on. So hitting the input button X number of times to get from HDMI1 to component 3 is almost never going to work correctly. So what you really need is discrete -- or separate -- IR codes for each individual input, rather than one code that toggles through 'em all.
So where do you get these little guys? Luckily many programmable remotes included them, but depending on your project, you may need to contact the manufacturer. Probably the single greatest resource for finding this type of stuff is Remote Central. The discrete IR code database and forums over there are really second to none when it comes tracking down a discrete code. Unfortunately some devices only have toggle commands, and this can either make is a real pain to use with a programmable remote, or down right impossible. Anyone who's had to deal with this no doubt is now in the habit of searching for 'em before making a new purchase.