As I understand, the required flash power for correct exposure is determined by aperture, ISO and subject distance. It shouldn't matter whether a human subject is dressed in black or white -- the required flash power should be the same.
With this in mind, why is it necessary for ETTL to fire a pre-flash to determine the correct flash exposure? Further, why is it necessary to apply flash exposure compensation for subjects that aren't midtones?