Программировать на языке программирования труднее, так как нужно все делать самому от начала и до конца. Его лучше использовать под игры, для которых нету ни движков, ни редакторов. Ну или если нет в наличии движка или редактора игр, либо если неизвестно как ими пользоваться.
Движки больше всего подходят для создания сложных игр со сложной графикой и физикой. Если в языке программирования движение персонажей нужно просчитывать используя математику, то на движке достаточно прописывать команды, типа "повернись налево", "сделай шаг вперёд" и т.п., так как в движке движение уже запрограммировал создатель движка.
В редакторе делать игру проще, чем на движке, но функции редактора ограничены, и можно делать лишь однотипные игры, то есть которые редактор умеет делать. Это просто редактор, в котором конструируешь площадку и загружаешь туда 3D модели персонажей.
Создатели игр иногда покупают за огромные деньги игровые движки у других фирм чтобы потом создать хорошую игру и заработать ещё более огромные деньги.
Пример игрового движка, например движок CryEngine, на котором была сделана такая известная игра, как Crysis.
Пример редактора игр "Конструктор 3D игр". Помню продавался в компьютерном магазине диск с ним. Хотелось купить, но не стал, так как диск стоил 40000 рублей при средней зарплате тогда 6-10 тысяч. Спустя годы увидел в магазине дисков диск с таким же названием и похожей эмблемой, но без бумажной коробки и всего рублей за 150. Я его купил, а он оказался рабочим менее, чем на 50%. Видимо какая-то пиратская нерабочая версия того диска за 40000.