Even though components were introduced in Flash MX, the idea behind them started back in Flash 5 with smart clips.
Smart clips were the original componentsa reusable movie clip that needed only a few parameters set for anyone to customize and use, or such was the plan. In reality, smart clips were not only difficult to use, but were hardly scalable at all. Each time a component needed to be used in a different situation, the designer or developer using them would have to actually go into the code to tweak it slightly so that the smart clip would work. Not only that, but they were tremendous in file size compared to what they were capable of doing.
The next step was Flash MX components; they were scalable, reusable, customizable, and smarter than any smart clip ever created. The components that came with Flash MX were very well-designed and developed to be used in any situation. And building custom components was not a difficult task either.
Then, with Flash MX 2004, components 2.0 were created and included with Flash, and in Flash 8, they have had little change.