1. Слушатели добавляй через
addEventListener.
2. Вот это
isTaskAdded = false
скорее всего можно сократить до
isTaskAdded = !isTaskAdded
в конце условий.
В остальном, при беглом взгляде выглядит не так уж плохо. Смущают только глобальные переменные. Но тут я не очень объективен, ибо повернут на инкапсуляции и адепт функционального программирования.
А куча библиотек возникла до 2015-го года, когда JS был не просто языком, где куча дерьма, а просто языком в общем и целом из дерьма. Тот же jQuery боготворили, а сейчас это проклятый архаизм. И все в общем перевернулось именно со стандартом ES6\ES2015, а с последующими обновлениями стало только лучше.
В принципе тенденции последних лет можно охарактеризовать, как весьма благоприятные: нормальный PHP, f-строки в Python, окончательная и бесповоротная смерть IE.