Eu estou finalizando a leitura do livro de ASP.NET 2.0 do Luis Abreu e lá ele fala sobre a funcionalidade Control State. Ela é bem legal porque os controles de servidor não mais salvam informações importantes sobre o seu funcionamento no ViewState.
Nas versões 1.x do ASP.NET, essas informações são armazenadas no ViewState então, quando voce desabilitava o ViewState, alguns controles não funcionavam corretamente. Por exemplo, desabilite o ViewState e tente mudar o índice de paginação de um controle DataGrid. Voce verá que o controle desaparecerá.
Com o ControlState, essas informações são armazenadas em outro local e, se você desabilitar o ViewState, o controle continuará trabalhando normalmente. Desabilitar o ViewState é muito importante quando você não precisa manter o estado dos controle durante os postbacks ou quando a performance da sua aplicação está baixa.