То что делает дизайнер и то, как это будет в программе - очень разные вещи. Зачастую, потому что дизайнер понятия не имеет как работает пользовательский интерфейс. В основном, это касается программ ближе к нативу и дальше от css стиля форм. Т.е. чем нативнее интерфейс, тем сложнее будет воплотить дизайнерские задумки.
По этому, дизайнеру лучше более грубо предоставлять программисту макет, а программист будет его воплощать.
Или, дизайнеру нужно иметь понимание возможностей того или иного граф. фреймворка.
Дешевле программисту уметь делать UX/UI, нежели найти дизайнера, который знаком с конкретным фреймворком. К слову, в вебе немного иначе.
Лично я стараюсь делать хороший интерфейс и трачу на это уйму времени. И самому приятно и показать не стыдно.
Также, как уже тут сказали, продумывание интерфейса влияет и на логику алгоритмов. Углубляться не буду, скажу только несколько слов: многопоточность, колбеки, асинхронность.