Pra não me xingarem dizendo que eu não trouxe nenhum exemplo de código, abaixo temos uma Activity do meu Projeto Final no curso da Udacity:
Durante a execução do seu App, determinadas características podem mudar, como por exemplo o idioma e a orientação da sua tela (sim, caro amigo… se você é daqueles que deixam a orientação da tela destravada e os apps ficam mudando toda hora, você não é um cara legal ‘-‘ ). Brincadeiras à parte, quando uma dessas alterações acontecem, o sistema precisa reiniciar a Activity (dentre outras coisas, isso garante que o layout XML certo será chamado de acordo com as novas configurações).
Isso acontece sendo chamado o método onDetroy e logo depois o onCreate. Para tratar adequadamente essa situação, é importante que a sua Activity restaure seu estado anterior seguindo o seu novo Ciclo de Vida normalmente. Assim o Android chama o método onSaveInstanceState() antes do onDestroy de modo que você possa salvar os dados sobre o estado da aplicação. Em seguida, podemos restaurar o estado durante o onCreate ou onRestoreInstanceState().
Isso ficará mais claro na prática e em estudos mais aprofundados, por enquanto, você pode dar uma lida na documentação para matar a curiosidade :D
É isso pessoal! Activities são a base de toda aplicação Android (incluindo da UI) e por isso é muito importante estar por dentro de tudo o que falamos aqui. Caso você queira expandir seus conhecimentos, recomendo ler a documentação completa sobre Activities para ter noção dos métodos que podem ser usados durante o desenvolvimento.