Кто хорошо знает javascript, элементарный вопрос?
Есть строки, а есть числа. Это не одно и то же и работает по-разному. 

Почитать тут: 

Типы данных
про Числа и parseInt()
Преобразование типов


А если не читать?
Чтобы не читать, а разбираться с проблемой на месте, можно смотреть, что именно происходит.
Повсюду навставлять console.log(), через который выводить значения и типы. Или дебаггером в Инструментах разработчика в браузере останавливать в каждой строчке и смотреть в какой переменной что лежит.

Ключевые вопросы:

что возвращает prompt() – какой тип
что происходит если к строке прибавить строку  "тос" + "тер"
что будет если в строке лежит число  "2" + "2"
чем отличается от деления "2" / "2"
Поздравляю, вы на верном пути!

p.s. на чём летаешь? )
Если совсем в двух словах. Интерпретатор делает не то, что мы от него хотим, а то, что мы от него запросили. А знаком "плюс" в JS можно запросить две разные операции.

Одна — это склеивание строк: "aaa" + "bbb" = "aaabbb"

Вторая — это арифметическое сложение: 333 + 222 = 555

В остальной арифметике — деление, вычитание и т.п. — такой двойственности нет. Нельзя, например, вычесть одну строку из другой: "aaa" - "bbb" = ?, поэтому для строк при использовании знака "минус" JS автоматически приводит строку к числу и мы получаем ожидаемый результат: "333" - "222" = 111

Но для знака "плюс" такое не работает, т.к. интерпретатор не знает, что нам нужно, и делает то, что ему сказали:
333 + 222 = 555

"333" + "222"  = "333222"
Поэтому приведение строки к числу должны запросить мы сами явно. Для этого мы и вызываем функцию parseInt(), которая делает такое приведение, т.е. превращает строку в число.