Why are not all images simply in DCIM?
Slightly unhelpful answer: because that would violate the Design rule for Camera File System. Perhaps more helpfully, given that image files can have only 4 numbers in them (again due to the design rule), what would you expect to happen if you have more than 10000 images on one card - perhaps slightly unlikely for a 20D, but certainly feasible with today's cameras and card sizes.
Also, which event triggers the creation of these sub-folders?
According to the 20D manual (page 61), a new folder is created every 100 images. On more recent cameras, this tends to be a larger number (10000 on my T2i/550D); I suspect the lower limit on the 20D is due to problems that computers of the day would have had handling a folder with 10000 images in it (this is also another good reason why you wouldn't want every image directly in DCIM).