Read and write workloads are often asymmetrical, with very different performance and scale requirements → So this pattern is useful when we have expressive workloads. A simple CRUD service doesn’t need this kind of concern at all.
Martin Fowler wrote in the first paragraph in his article about CQRS:
but beware that for most systems CQRS adds risky complexity.
https://softwareengineering.stackexchange.com/questions/339359/isnt-cqrs-overengineering
https://learn.microsoft.com/en-us/azure/architecture/patterns/cqrs
https://threedots.tech/post/basic-cqrs-in-go/