To nie wina rozwoju, ale elastyczności tego frameworka. Pozwala on bowiem na tworzenie na kilka sposobów strony i oba mają swoje zastosowanie w różnych sytuacjach. Oba prze Ciebie zaprezentowane sposoby by było zabawnie służą do czego innego

Pierwsze to przypisanie do odpowiedzi konkretnego widoku. Drugi przypadek to stworzenie kontrolera dziedziczącego po szablonowym do którego przypisano widok, a w owym widoku istnieje zmienna, której przypisujemy konkretną wartość. Pierwszy przypadek już przykładowo nie ma tego ostatniego. Dlatego ten drugi używany jest w przypadku bardziej złożonych widoków, które mogą zawierać zmieniające się podwidoki. To drugie gdy mamy proste, naprawdę nieskomplikowane widoki. Jak myślisz... Czy gdy na stronie masz pewien widok bazowy, a wiele elementów wewnątrz jest dynamiczna i także może mieć swoje własne podwidoki to bezpośrednie konstruowanie odpowiedzi ma sens? Jak byś rozwiązał wtedy routing? Chyba setkami wpisów w pliku routes jako odwołanie do jednego kontrolera, który ma gigantyczną liczbę akcji

Tylko po co wtedy stosować framework, skoro i tak całość odpowiedzi to jeden ogromny kontroler?