São de grande utilidade e empregadas ao extremo. Utilizarei uma metáfora para você entendê-las melhor.
Imagine você em um supermercado com uma sacola para colocar as suas compras - o que você terá dentro dela é bastante variável, uma vez que você pode pegar um produto na prateleira e depois desistir de levá-lo, trocar por outro produto ou adicionar algum outro.
Qual a moral da história? O conteúdo da sua sacola de compras é variável, ou seja, não sabemos ao certo o que teremos dentro dela. O que definirá isto será o tempo em que estivermos realizando a compra e as nossas necessidades.
Com as variáveis é do mesmo jeito, você tem o seu nome definido (sacola), mas o conteúdo (produto) pode iniciar-se com X, depois alterar-se para Y ou até mesmo ficar nulo. O que definirá o valor da variável em si será a execução do script por completo.
Resumindo: variáveis são como um depósito que você utiliza para guardar informações e, o seu valor (conteúdo), pode alterar durante a execução do script.
Vejamos um exemplo de como declarar uma variável:
var nomeVariavel = "valorVariavel";
ou
nomeVariavel = "valorVariavel";
Você pode criar uma variável com ou sem a declaração var, mas é aconselhável utilizá-la.
Agora, vamos conhecer algumas regrinhas necessárias ao criar as variáveis:
Vamos atribuir o valor JavaScript à variável assunto. Observe:
var assunto = "JavaScript";
Os nomes global e local são bem explicativos. Vamos compreendê-los bem, pois são de grande importância.
Quando criamos uma variável dentro de uma função, a tornamos local, ou seja, acessível somente dentro da função em que foi criada. Podemos até criar outras variáveis com o mesmo nome e com valores diferentes, porém elas terão validade somente dentro da função em que foi declarada.
Já as variáveis globais, são declaradas fora das funções e ficam acessíveis a toda e qualquer função na página em que a variável esteja.