Методологія структурного програмування з'явилася як наслідок зростання складності розв'язуваних на комп'ютерах завдань, і відповідного ускладнення програмного забезпечення. У 70-ті роки XX століття обсяги і складність програм досягли такого рівня, що «інтуїтивна» (неструктурована, або «рефлекторна») розробка програм, яка була нормою в більш ранній час, перестала задовольняти потребам практики. Програми ставали занадто складними, щоб їх можна було нормально супроводжувати, тому потрібна була якась систематизація процесу розробки та структури програм.
Найбільш сильній критиці з боку розробників структурного підходу до програмування піддався оператор GOTO (оператор безумовного переходу), наявний тоді майже у всіх мовах програмування. Неправильне і необдумане використання довільних переходів в тексті програми призводить до отримання заплутаних, погано структурованих програм (т.з. спагетті-коду), за текстом яких практично неможливо зрозуміти порядок виконання і взаємозалежність фрагментів.
Дотримання принципів структурного програмування зробило тексти програм, навіть досить великих, нормальних для читання. Серйозно полегшилось розуміння програм, з'явилася можливість розробки програм в нормальному промисловому режимі, коли програму може без особливих труднощів зрозуміти не тільки її автор, але й інші програмісти. Це дозволило розробляти досить великі для того часу програмні комплекси силами колективів розробників, і супроводжувати ці комплекси протягом багатьох років, навіть в умовах неминучих змін у складі персоналу.