Couldn't figure out an often case where you have to create an "collection and populate it" (see my 2nd paragraph).
Mostly its about obtaining the collection (not creating it), then obtain all of the objects inside of it in a list or just manipulate them while iterating the collection.
But like everyone here said, depents on the type of the collection and what you wan't to do with the stuff inside of it.
I could think of creating a block definition, and add objects inside of it - since the vla-object of block definition is technically a collection.
Or creating an empty selection set object (collection again) which can be populated - but thats a rather unusual approach.