The customer can set a ticket to "Close".
The agent can set a ticket to either "Resolve" or "Close".
Why can a customer NOT set a ticket to "Resolve"?
In my opinion, that would make more sense because "Close" is considered a a final step.
I think in most cases a ticket could be closed automatically a while after it was set as "Resolved" either by the customer or the agent. Isn't it strange that the customer cannot decide when his issue is solved?