Na verdade, existem duas razões substanciais diferentes para a existência de padrões.
O primeiro já foi explicado muito bem: o uso de padrões lubrifica a comunicação entre os desenvolvedores. Se você e eu entendemos que, quando digo 'Observer', estou falando de uma estrutura muito específica de código, posso descrever rapidamente como funciona um pouco de código que usa esse padrão. A alternativa é descrever completamente a solução, que consome tempo e é propensa a erros. ("Bem, eu criei essa classe virtual pura que descreve e faz interface com objetos do consumidor e, em seguida, criei uma classe que mantém uma lista de consumidores ativos, que ...")
O segundo benefício dos padrões é que eles são formas de solução prontas para formas de problemas comuns. Se você conhece seus padrões e, por exemplo, encontra um problema em que precisa encontrar uma boa maneira de obter informações de (possivelmente vários) objetos produtores para vários objetos consumidores, sem introduzir acoplamentos desnecessários entre classes, você reconhecerá "isso é um trabalho para um observador! " e você saberá imediatamente como resolver seu problema.
Esses benefícios também realmente se reforçam. Eles permitem que você resolva rapidamente certas classes comuns de problemas e, quando terminar, poderá comunicar rapidamente como solucionou o problema.
Compare isso com um mundo onde os padrões "não existem". Você encontra uma dessas classes de problemas, que geralmente não são problemas triviais de design, e gasta um bom tempo buscando uma boa solução (que, aliás, provavelmente será muito parecida com o padrão apropriado). Então, seu colega de trabalho aparece e quer saber como você o resolveu e passa uma hora discutindo como e por que.
Tudo isso está associado a uma ressalva que deve parecer bastante óbvia: não tente forçar os problemas a padrões que não se encaixam. Se o padrão não se encaixar no problema, a solução acabará sendo complicada e você perderá o benefício de redução de esforço dos padrões. Além disso, como seu trabalho não se ajustará mais ao entendimento dos colegas sobre o significado do padrão, você perderá o custo do benefício da comunicação. De fato, você provavelmente aumentará o custo da comunicação além do custo sem padrões, porque o uso indevido do padrão dará a seus colegas de trabalho uma falsa compreensão da solução, o que é pior do que nenhuma compreensão.