Android also has an unnecessary Java layer on top of the Linux kernel, which leads to inefficiency in the most cases.
And of course, the N900 hardware still is superior to anything else for the moment, and I suspect that it's cheaper as well.