<p>Does this pattern:</p>

<pre><code>setTimeout(function(){
             // do stuff
}, 0);
</code></pre>

<p>Actually return control to the UI from within a loop? When are you supposed to use it? Does it work equally well in all browsers?</p>

http://blog.thinkature.com/index.php/2006/11/26/escaping-the-javascript-call-stack-with-settimeout/
Some good info in there. Basically, you are correct and it works on pretty much all browsers. Cool trick.
You would want to use this in the example that the author of the post gave, as well as instances where you need to return execution back to the calling function before your code is executed. Javascript is, apparently, not multi-threaded, but this comes close.
Hope this helps :)