You still don't understand it and you seem unwilling to actually look into it, so let me spell it out for you in detail -
If you take a fresh checkout of the sources, nothing built and no config files and then run "make menuconfig DEVELOPER=1" you'll get a menuconfig screen with nearly every single package enabled. Exit and save this configuration, this will produce a .config file -- this config file specifies how and what to compile, this is the only config file ever used. Running "make" will then compile all the packages and produce a bin/packages directory; this directory is then uploaded as the ipkg repository, ex: http://downloads.openwrt.org/whiterussian/rc5/packages/
This will also produce a few other items, a firmware image (completely ignored), an SDK (contains the compiler and some basic framework; uploaded) and something called ImageBuilder. At no point will we ever go back and change our .config file or recompile anything; the packages are already built and it's simply a matter of transforming those packages into a firmware image -- this is what ImageBuilder does.
ImageBuilder is completely incapable of building/compiling/modifying any packages or kernel options, it's basically an overgrown version of ipkg. There is absolutely zero configuration required to use ImageBuilder; the list of which packages get added to which firmwares is built into ImageBuilder itself (look under the lists/ directory). The job of ImageBuilder is to simply to extract a set of packages a set of packages into a temporary directory representing /, convert that directory into a filesystem image, then to take that filesystem, add a kernel and produce a trx file. It does this for each filesystem (squashfs, jffs-4M, jffs-8M) in each list (default, micro, pptp). Headers are then added to the trx files to produce bin files, a "openwrt-brcm-2.4-squashfs.trx" becomes several different "openwrt-<model>-squashfs.bin" files. When all the default/micro/pptp directories are filled with a confusing number of trx and bin files, the entire mess is then uploaded to the openwrt.org servers.
A 00-README is "written" using an excessive amount of cutting and pasting from the previous 00-README and the wiki, and a release announcement is made.
---
Note: This is completely excessive for building just a single image for personal use; the defaults in "make menuconfig" will work perfectly fine.