EXPLICANDO A KEYWORD "NEW" COM COMIDA:
Imagine que você vai numa Dominos. Como qualquer ser humano normal, você vai pedir uma pizza cababresa, e pasmem: essa pizza é sua. Se o caixa fosse um console, pedir uma pizza seria o equivalente à executar:
$minhaPizza = new Pizza("calabresa")
e voilá: você tem uma instância de pizza só sua; O próximo cliente que chegou queria uma pizza calabresa também! Porém ele não é um programador, não usou o new, ele simplesmente chegou na atendente e disse: EU QUERO A PIZZA DAQUELE CARA. Prontamente a moça foi la, te encheu de porrada, pegou tua pizza e deu pra esse novo cliente. Novamente, se fosse um console, esse novo cliente executou
$novaPizza = $minhaPizza.
MAS PORQUE ISSO ACONTECEU? Porque existe uma diferença entre Valor x Referência. Ao atribuir
new Pizza("calabresa")
à $minhaPizza$ você fez o correto, criou um valor que é atribuído a um novo endereço de memória, ao passo que o cara que fez $novaPizza = minhaPizza$ não criou um novo endereço de memória, mas REFERENCIOU o seu! Então tomem cuidado ao lidar com seus objetos para não cair em um erro tão bestinha!
faltou dizer o que aconteceria se ele pedisse uma pizza nova sem o New. Basicamente em algumas linguagens seria o equivalente ao caixa apenas dar a receita da pizza de calabresa para a pessoa, ou levar ela para a cozinha e mandar ela mesma fazer.