TLDR;
Angular ti aiuta ad affrontare la complessità insita nelle interfacce utente ricche. Con l'aumentare della complessità dell'interfaccia utente, il modello tradizionale di generazione di pagine sul server diventa molto più complesso. Angolare ti consente di scomporre l'interfaccia utente in blocchi gestibili e ti consente di separare l'interfaccia utente dall'implementazione. Ciò rende la generazione di pagine sul lato server molto più semplice, ma Angular diventa davvero speciale quando si passa alle applicazioni basate su javascript. Un buon esempio di tale applicazione è Trello .
La lunga storia
Angular non è realmente mirato a siti che puoi facilmente implementare generando tutto sul server e inviandolo. Inoltre, benché questo sia un approccio perfettamente valido che funziona per molti siti e applicazioni su Internet, diventa sempre più complesso (quindi difficile) mantenere tale approccio lavorando mentre si tenta di aumentare il livello di interattività nel proprio sito.
In definitiva, il modo in cui risolvi questo è spingendo l'interfaccia utente sempre di più nel lato Javascript dell'equazione. Angolare ti consente di suddividere l'interfaccia utente in componenti, offrendoti una netta separazione tra l'aspetto e il tatto e il come funziona. È quindi possibile creare pagine abbastanza semplici sul server e il front-end JS viene utilizzato per creare un'interfaccia utente ricca che riattiva le chiamate al server per i dati di cui hanno bisogno.
C'è un punto, però, in cui tutto ciò che si vuole fare è server una pagina stub che carica un'applicazione completamente basata su javascript. Probabilmente l'esempio più noto del caso d'uso in cui Angular brilla davvero è Trello (usa Backbone, non Angular, ma è lo stesso caso d'uso). C'è un sito link che contiene altri siti di esempio che utilizzano Angular.
Quindi la risposta breve? Angular semplifica la creazione di interfacce utente ricche e altamente interattive, consentendo di decomporre l'interfaccia utente in componenti e, infine, di passare completamente in javascript.