Por que os programadores de C ++ devem minimizar o uso de 'new'?

Eu me deparei com a pergunta Stack Overflow Vazamento de memória com std :: string ao usar std :: list <std :: string> eum dos comentários diz o seguinte:

Pare de usarnew muito. Não vejo nenhum motivo para você ter usado novo em qualquer lugar. Você pode criar objetos por valor em C ++ e é uma das grandes vantagens de usar a linguagem. Você não precisa alocar tudo no heap. Pare de pensar como um programador Java.

Não tenho muita certeza do que ele quer dizer com isso. Por que os objetos devem ser criados por valor em C ++ o mais rápido possível e que diferença isso faz internamente? Interpretei mal a resposta?

questionAnswers(17)

yourAnswerToTheQuestion