Dentro do "condicional" if, foi utilizado apenas 1(=) e isso quer dizer que a variavel quantidadeCarbono1 estava "recebendo" os mesmos valores da variável quantidadeCarbono2. Por esse motivo o resultado da analise lógica era sempre o mesmo independente dos valores lançados. A solução do problema foi bastante simples, bastou acrescentar mais um(=) para que o resultado comparativo de igualdade se verifica-se.
<meta charset="UTF-8">
<script>
function pulaLinha() {
document.write("<br>");
}
function mostra(frase) {
document.write(frase);
pulaLinha();
}
var quantidadeCarbono1 = parseInt(prompt("Quantidade de carbono substância 1"));
var quantidadeCarbono2 = parseInt(prompt("Quantidade de carbono substância 2"));
quantidadeCarbono2 = quantidadeCarbono2 + 2;
if(quantidadeCarbono1 == quantidadeCarbono2 ) {
mostra("Acho que são substâncias parecidas");
} else {
mostra("São substâncias bem diferentes");
}
</script>