Alex here from the Shopify support team.
The basic reason that there are different processes between cancellations and refunds are that one happens before fulfillment, and one happens after fulfillment. Cancellations can only be processed if the order is unfulfilled (or if the fulfillment has been cancelled). This is generally done for one of a few reasons:
There is a field with the above reasons auto-filled, and an option to notify the customer when cancelling an order - the only difference in that regard is that when refunding an order, you can type in the refund reason, while when cancelling there's no custom field (but there is an "Other" option):
There's also some valuable information about cancellations and refunds in our help documentation here - I'd recommend giving it a read! I hope this helps clarify things a bit, please feel free to follow up here with any further questions.
Alex | Support
|2 hours ago|
|5 hours ago|
|6 hours ago|
|7 hours ago|
|9 hours ago|