Jéssica, isso acontece porque ele está fazendo uma comparação literal do que é passado pelo usuário e o que você colocou na condição. Uma possível solução, um tiquinho mais avançada, seria colocar tudo em maiúsculo e transformar o que o usuário digitar em maiúsculas também, usando um recurso chamado toUpperCase(). Por exemplo:
let dia = prompt("Que dia da semana é hoje?");
if (dia.toUpperCase() == "SÁBADO" || "SABADO" || "DOMINGO") {
alert("Bom fim de semana!");
} else {
alert("Boa semana!");
}
Observe a segunda linha. O dia.toUpperCase() está transformando o conteúdo da variável dia em letras maiúsculas. Mesmo se a pessoa digitar dOmInGo, a comparação vai ser bem-sucedida. Você ainda vai aprender isso. Também poderia ser o contrário, comparando apenas entre minúsculas, com toLowerCase().
if (dia.toLowerCase() == "sábado" || "sabado" || "domingo")
O exercício é superválido, mas você nunca vai ver essa abordagem num site, porque o usuário pode escrever coisas que nem passaram pela nossa cabeça, como sab, sáb., çábado, Sat, samedi, 7, e não dá para dar conta de todas as possibilidades…
Sobre os outros exercícios, crie um tópico sobre eles e mostre o seu código para podermos descobrir o problema.