На много.
Они отличаются как 'небо, белый и капуста', утрирую конечно но все же.
В первую очередь все зависит от задачи. Во вторую - от выбранного фреймворка. И в третью - от затрат на архитектора, который не даст с самого начала разрабатывать 'пиздец какой ужас'.