Работает не совсем корректно, почему перебирает все числа?
Ну так ты в цикл заносишь вывод на каждой итерации.  Выноси за цикл.
let arr = [2, 55, 6, 65, 65, 65, 65, 65, 6, 4, 84, 5];
let result = 'Нет';
for(let i = 0; i < arr.length; i++){
  if (arr[i] == 5) result = 'Есть';
}
document.write(result);
Более короткий пример
let arr = [2, 55, 6, 65, 65, 65, 65, 65, 6, 4, 84, 5];
const result = arr.some(n => n === 5);
document.body.textContent = result ? 'Есть' : 'Нет';
Потому что вы вызываете document.write на каждой итерации цикла