The client-server model is the default for almost any system where data must be shared, secured, or kept consistent across many users. Centralizing data on a server means you control access, run backups, push updates in one place, and keep a single source of truth. That is why every SaaS product, online store, and multiplayer backend uses it.
The trade-offs are real. The server is a central point of failure: if it goes down, every client is stuck, which is why production systems run many server replicas behind a load balancer. The server is also a scaling bottleneck, since one machine can only handle so many simultaneous connections before you must add more capacity or shard the load.
There is also latency baked in. Every interaction is a network round trip, so a user in Sydney talking to a server in Virginia pays the speed-of-light cost on every request. Engineers fight this with CDNs, caching, and edge servers placed closer to users, but the underlying request-response shape never changes.