Why not to Use global Variables and why to place all jQuery code in self invoking function..

Why not to Use global Variables and why to place all jQuery code in self invoking function..

Hi there- i am new to learning jQuery, my question is : 

1. Why not to Use global Variables and why to place all jQuery code in self invoking functions..
when the same thing can run without putting in self-invoking function and keeping jquery.

i want to know, reason, apart from the programming noms, what are the caused overheads.