Radite li svoj API?

Držim da je dobro raditi API sustav jer nam otvara mogućnost korištenja više tehnologija koje komuniciraju kroz JSON. Za primjer sa jednim backend-om koji komunicira API-om otvaramo mogućnost korištenja više tehnologija za frontend tipa. web aplikacija i mobilna aplikacija.

Da li kada programirate i smatrate li da je važno vršiti komunikaciju između backenda i frontenda kroz API? Ili vam je ok recimo ako je za primjer pomiješan kod za primjer kao kod nekih PHP aplikacija gdje recimo putem ajax poziva dobivaju upite na bazu i vračaju podatke direktnu u frontend. Koje su prednosti i mane vidite kod sustava API?