It's about division of labor, and having clear interfaces between teams. If you are a one-person project, then by all means go that route. But in a team with specialized talent in backend and frontend development, both are much more efficient when that separation exists. Expecting frontend devs to write efficient SQL queries is about as insane as expecting a backend dev to know how to make complex CSS animations.