I wondered the same about Linux installers. I'm installing some kind of debian minimal which will take 300 MB on disk. It should be installed in a fraction of the second. Instead it takes minutes. All installer should do is: dd pre-assembled Ext3 filesystem from ISO to disk; extend filesystem to the desired size; write some configs like fstab. It could be really fast.
My guess is that nobody really took the time to optimize it. Installation is only one-time procedure and even it if takes a hour, who cares.
Yeah, I know, my point is that ordinary installer should do the same with ordinary installer UI rather than trying to install every deb package over and over again, running its pre/post scripts, etc. What's the point? It should be deterministic anyway.
My guess is that nobody really took the time to optimize it. Installation is only one-time procedure and even it if takes a hour, who cares.