Ful-Stack es quien, resumiendo, lo hace todo. Desde diseñar la arquitectura de una web, desarrollar interfaces de programación de aplicaciones (API) para ayudar a las aplicaciones a comunicarse entre si y una web, comprender las necesidades de clientes para diseñar su web, desarollo de front end y backend, mantenimiento web y sus extensiones, gestión de servidor y base(s) de datos, supervisar las fases del ciclo de visa de desarrollo de sistemas, lo que es el SDLC o ciclo de vida de desarrollo de software, que es un conjunto de pasos que se utilizan para crear aplicaciones de software, para asignar, completar y medir, Trabajar con equipos externos del desarrollo.
Es decir que cuando ves la palabra FULL-STACK, por ejemplo en una oferta de empleo, ya sabes que seras el chic@ para todo :). Aunque depende de cada empresa. Muchas veces lo que se busca es a quien se contrate, sea capaz, no de todo lo dicho aquí, si no mas bien contratar a alguien que resuelva sus problemas.
Yo particularmente, prefiero a alguien de sepa mucho de poco, que no poco de mucho.
Aunque como digo, eso depende de las necesidades de cada empresa.