Graphics emulation is one of the huge ones. Various graphics chips would give widely different results, sometimes comparably better or worse, sometimes just different. Sound emulation, again, in the old days, sound cards had widely different feature sets, which would result in different sound quality. Then you had the issue of different chipsets which had their own sets of quirks. Compatibility was something that took a good deal of time.