well i can at least tell you why cm7 has gapps separate. so when the cm team started to develop roms using the google source code for the android os (forgot which version, i think eclair), google sent them a cease and decists letter statiing that any google apps can't be included in the intial build of the rom, but that they can include a file that is flashable. thus was born the gapps file.
not sure why other roms do it as well. maybe it is fear of google. but, the xplod rom has gapps cooked in, so i'm not really sure why the devs still do it.