I'm having trouble grasping the value proposition of the "command" half of the CQS principle in a system that doesn't implement command query responsibility segregation.
The CQS principle states that a method that returns a value is a query, and should never affect state. A method that affects state, should never return a value.
The principle that a query should not affect state makes perfect sense to me. If you have queries in your system that change state it's hard to reason about the logic in your code, and if you forget that your code relies on the state change provided by the "query" call then it's easy to introduce bugs.
Even if your system has nothing to do with CQRS, you should strive to never change state in your methods that return a value.
I don't understand the value proposition of not returning a value from your commands.
What are the pitfalls of having methods that let's say return a "result" that contains information about the success of the command call?
What benefits does following that principle bring to your application?