Earlier quoted context omitted.
You do it to reduce complexity. The problem with JS heavy frontend is you now have TWO applications. The real application, on the backend, which makes all the decisions, and the frontend application. You have TWO states which are being mutated independently that you now have to sync.
reducing complexity is important but is hardly the fundamental reason to choose between server side or client side rendering or state management. that just depends on the nature of the problem and the context it has to be solved in. sometimes it doesn't matter, then you have a choice. you guys are furiously arguing (and not really listening) about this or that hammer being good enough to treat every problem as a nail…
The client side logic is, usually, just to make the developers happy because developers love complexity.
Obviously there are many exceptions. But not every application is exceptional. We all hate to admit we're working on simple or trivial things but... We are. Often.