And when do I use them?
Local scripts are normally used in starter gui, starterplayer, starter player scripts.. etc... Localscripts can access a player. If localscripts are placed in the players startergui, it can alter what other players see.. Meaning you can make a door opened for a specific person..
Regular scripts can change values, cannot use game.Players.LocalPlayer and can save data which localscripts cannot do! scripts can also change items in the server.. Like, update a timer for every player in the game... Regular scripts come in as much handy as localscripts do...
There are also module scripts... Used to create functions and when called from another script using require(), those functions can be used in other scripts