Building Packages on Real Hardware vs on Emulated and Virtualized Environments

There's a constant discussion about building packages (or even running build daemons) on emulated or virtualized hardware instead of real hardware. While it seems to work fine for quite some packages, it may cause nasty side effects (possibly undetected during build time, i.e. no FTBFS) for some package. Therefore many suggest to build packages on virtualized or emulated machines only if necessary and should be discussed with the according porters for the relevant architecture.

Following a collection of links containing parts of this discussion.