while(1){} - whaaaaaaat???

In Linux and Windows, we have to think about the other processes running, and interact with them in a nice way. On Arduino, there's nothing else for the processor to do, other than what we tell it to do. (Leaving interrupts out of the picture for the moment.)

From my understanding, a "while(1);" loop doesn't take any more or less energy than anything else the AtMega could be doing. It's not like it has active power management or things like that.

If you want to actually consume less power when doing nothing, I believe you have to put it to sleep. And from what I've read, that's pointless on a stock Arduino board because the voltage regulator continues to take a ton of power.