It's much akin to how Opera feels slow to some people despite actually finishing loading the page faster... This illusion occurs because Opera doesn't redraw the window arbitrarily after every piece of information, but instead waits for certain things to finish (DOM complete, all CSS) or for a timer to expire (Tools -> preferences -> advanced -> browsing, under "loading" there's a SELECT, typically set to 'every one second') before attempting a reflow/redraw... so while it's physically faster, the lack of showing you it's doing anything makes it feel like it takes longer. (this was more true when Opera's default for that was every three seconds!). It's funny in that case because if you set Opera to a high 'redraw' delay like every 5 seconds, the page loads significantly faster, but it feels like it takes forever because you don't actually see it doing anything.

Perception is everything.
Great point as usual, DS60. This was the same principle behind pre loaders, back in the flash days. The fact that you already saw "something" on screen makes it "feel" like you are waiting less . even though the wait was the same + the time it took to lad the preloader itself. Always thought that was an interesting UI phenomenon.

There is another good thing about scripts at the end; they make DOM manipulation easier, especially with straight js. By this I mean simply that it "eliminates"(note the am using this word loosely!!) the need for <body onload="...">.