En general, $(function() { alert("Hello World!"); })
espera $(document).ready()
y la otra función (un Iife) dispara de inmediato.
Pero la función envuelta jQuery es un caso de uso muy específico (esperando el DOM, usando jQuery); Sus dos ejemplos no están relacionados. No los confundas como 2 versiones de lo mismo.