Well, since this technical question has seemingly become a philosophical debate, I feel like I should justify my position.

The big reason for using this technique is because
the (ambitious) game engine Avocado that I'm developing as a hobby project is a JavaScript engine. While it's running on the PC, I am binding to the V8 JavaScript engine. SFML is one avenue I've been experimenting with to provide Graphics, Sound, potentially etc. to the engine using the SPI framework I've developed for Avocado. I also have an SDL backend that works in software, so it should go quite far back in terms of hardware.
That's great! While we're on PC we have access to crazy amounts of power, and it works awesome. The problem is... JavaScript doesn't only run on the PC.

The vision for Avocado is that it will run everywhere JS will run (which if you've been paying attention is... everywhere

).
The rub here is that pretty much every JS implementation that isn't V8
SUCKS @$$ compared to V8. That's what I get in other browsers that aren't Google Chrome. So, what seems like "old, useless" techniques actually can make the difference between a smooth experience and a horrible laggy one.
In the browser I'm using HTML5 canvas and it isn't hardware-accelerated yet. This means we're "15 years ago" all over again. I'm not attached to optimization techniques such as display lists out of habit or because "it's all I know". I'm only 28 years old

I was working on a game project when the artist walked away and I had to halt it. It sucked, we were doing well on Kickstarter. I was developing this engine for that project and I've since started basically from scratch, re-architecting it. Avocado isn't currently in the browser again yet (In fact, I've only got it compiling on Linux as yet since I'm now on my own time, and getting the latest V8 compiling in MSYS is a PITA which I will eventually get around to solving), but our demo was a proof-of-concept and it actually worked very well. It just lagged behind in non-Chrome browsers and using these techniques I will solve that problem.
Sorry if it's a long post but I felt like I needed to explain myself.