"Everyone does everything" has been the developer mentality at the company that I work for, which is a small software company of about 14 devs and 3 teams. We're an agile/scrum shop and all developers work on front-end, back-end, devops, etc. We do have a UX person, product manager and sysadmin. All developers work on all products, as well.
The advantage is that knowledge is shared between all developers and any can do most tasks. The downside I see is that nobody is really the specialist in an area and thus less efficient at getting their work done.