"Esse campo aqui só é obrigatório às vezes"

Toda regra de validação começa simples. required, email, min:8, beleza. Aí o PO chega e solta a frase mágica:

"Ah, mas o CNPJ só é obrigatório se a pessoa for pessoa jurídica."

E lá se foi a simplicidade. De repente sua validação depende de outro campo, e você faz o que todo mundo faz na primeira vez: joga um if no controller, valida um pedaço, depois valida outro pedaço, e o método store() vira um monstro de ramificação.

Já passou por isso? A boa notícia é que o Laravel tem ferramenta pra praticamente todo tipo de "depende". Você só precisa parar de resolver tudo na mão.