There is no way to SAY ALL. One project can be small and thin to program the code, because where another can be confusing, use many hands and, of course, be able to accept changes, then OOP and design patterns can be a way. For a production-based site that will undoubtedly be partitioned, abstracting each section to its own FLA / SWF / DOCUMENT CLASS allows code to be maintained. If something in the about section requires changes, we simply open AboutDocumentClass.as, for example, and make our changes. Let be real, you should use SWFAddress now days to offer deeplinking; enable favorites, back and forward buttons for flash sites. With the correct implementation of SWFAddress and a good preloader, you can achieve a very smooth and low level of space that is easy to manage and scale.
Saying, I believe that any level-level flash developer should be aware of the GAIA Framework. In a few minutes, you have a whole structure of FLA bones, document classes, swf, etc. GAIA not only arranges the output files in an intelligent hierarchy, but also installs SWFObject and SWFAddress, as well as a preloader.
All this is done the first time you edit the XML file, which is located in the bin folder, wherever you print new project files to GAIA. After you have finished editing XML and any other elements, you point GAIA to the scaffold, for each section that you take into account in XML, a FLA is created, a document class with transition hooks based on the timeline, or an implementation of TweenLite / Max, depending on of your choice before scaffolding. Again, this takes about five minutes, and you have the bones of your site pre-loaded, defocus SWFAddress, and transitions to transitions.
The result is accurate output of files using a standard set of names and conventions, which should be easy to read and be reduced in excess by ten times.