As duas formas que você apresenta não são exatamente iguais.
No formulário: A && B || C , C será executado se A ou B avaliar como falso.
Por exemplo:
$ true && true || echo C
$ true && false || echo C
C
$
Isso oferece uma vantagem real do formulário if-then-else sobre a forma A && B || C e isso é clareza. É mais claro o que a forma if-then-else está fazendo, mas você precisa entender as regras de avaliação para entender o que a forma A && B || C está fazendo.
No entanto, pode ser útil usar A && B ou A || B . Isso é mais claro e pode ser útil quando comandos simples estão sendo executados. Às vezes, uma linha em vez de três é mais clara, especialmente quando você está tentando obter uma grande quantidade de código.