A duvida que todo mundo tem sobre o static

Porque eu preciso instanciar objetos para chamar métodos de uma determinada classe sendo que eu posso declarar esses métodos como static possibilitando que ele possa ser chamado direto?? -> eu me refiro a palavra “direto” para dizer: NomeDaClasse.Método();

E quando declarar um método static e porque??

*que eles possam

Veja http://www.guj.com.br/article.show.logic?id=121

Entendendo static
Como regra geral, tenha isso em mente: dentro de métodos static somente é possível [color=red]pode [/color]acessar outros métodos e variáveis que também sejam static.

Como agente avisa um moderador que o texto tem um erro?

Dentro do método pode-se definir qualquer tipo de variável, static ou não. Caso seja necessário acessar algum método ou membro não-static, é necessário criar uma instância da classe e então chamar o que quiser. Já o contrario é um pouco diferente: dentro de membros não-static, é possível acessar tanto propriedades static quanto as não-static. O fato de ser preciso primeiramente criar uma instância da classe para só então chamar algum método não-static ou acessar uma variável comum dentro de um método static deve-se ao fato que dentro dele não existe uma referência para o ponteiro this.

Valeu raphael, perguna respondida!