The most misunderstood role of all time is that of the fullstack developer. An inexperienced manager may try to use the abilities of such a developer to build out complete features, and a inexperienced, or misunderstood full stack developer might try to take on the task completely and all alone.
Most of the times, this results into disappointment and breaking expectations. One developer cannot hold the complete structural context of an application mentally. This results in loads of bugs; and always, with few exceptions, unseen bugs in the frontend. UI being such a fickle beast, a dedicated developer is needed to test, try to break, and fix the frontend.
However, where full stack devs actually shine is in building something in tandem with another dev. In the case of 2 developers, it's more than likely that each dev individually can hold the context for their respective parts of the application. 2 devs are also faster than one (however, how much this productivity actually scales is logarithmic, and further devs can mess up this delicate dynamic).
To make this work though, each dev should themselves be capable of supporting the other dev. This is not only in recognizing bugs, but in going into the depth of each bug and understanding why they happened, so that they save each other's time in debugging. This makes the team run smoother, and helps them take advantage of each other's strengths.
Anyways, these were my top-level thoughts on the topic. Let me know what you guys think about this :)
As always, follow me on Twitter for the writing dev experience.