lepsze zrozumienie systemu jako calosci
To jest bardzo istotna wartość, pozwala uniknąć wielu nieporozumień i idących za tym opóźnień. Ułatwia też niesamowicie komunikację w zespole.
wieksza wiedza
Nie zgodzę się. Dlaczego bycie fullstackiem oznacza większą wiedzę? Może chodziło Ci o różnorodność tej wiedzy? Bo specjalista w wąskiej dziedzinie też może mieć ogromną wiedzę, ale o wąskiej dziedzinie, co nie czyni go gorszym w rozumieniu ilości zagadnień, jakie opanował.
Wśród znajomych mam kilku fullstacków w Javie i często jest to z 10% frontendu, gdzie praca ogranicza się do wyklepania formatki. Natomiast jeśli rozkład jest gdzieś po połowie, to trudno mi sobie wyobrazić, żeby osoba została ekspertem w którymś z zagadnień (no, w każdym razie nie tak szybko jak gdyby skupiła się na jednym). Trochę inaczej sytuacja wygląda w przypadku JS-a - praca w node.js z racji jednego języka i nierzadko z tym związanych problemów we frontendzie i backendzie powoduje wzrost umiejętności po obu stronach.
Do poczytania: http://www.nczonline.net/blog/2014/07/15/generalists-and-specialists-thoughts-on-hiring/