Really, the answer is "it depends."
Our backend is microservice based because it's a thin layer over storage. There are functions that do processing work, but those exist so the thin layer works.
The big problem with microservices is handling failure. If you are chaining microservices together you're screwed. Thats why stuff like graphql exists.
That said, the reason microservices exist is because bloat and dependencies eventually choke monoliths. Also monoliths are difficult to scale in a cost-effective way.