Muito útil o observer, sempre utilizo no Laravel de forma fácil. Um exemplo é quando quero criar um slug único baseado ao título de um post, por exemplo. No observer, declaro que após criar o model, gere o slug e concatene com id do registro no banco. Muito simples e eficaz.
public function created(Post $post)
{
// gera o slug e concatena com o id
$post->slug = Str::slug($post->titulo) . "-{$post->titulo}";
$post->save();
}