You have to manually override the status to set a membership to Cancelled and that is when you set the End date to the value you want.
If you are doing this one record at a time either type in the date directly or Clear it then click on the calendar to see the current date highlighted for easy selection.
If for some reason you are cancelling memberships via batch update, then include the end date in that profile. Click on the X beside the date in the first line and then on the calendar. The current date will be highlighted and you can select it, then copy it to all the memberships you are cancelling.
If you are still wondering why you can't set "Now" as the end date for the cancelled status, that may suit your use case, but won't suit everyone. If we receive a request to cancel a membership we set the end date to the day we received the request, even if we don't actually change the status in the database until some days later. (Our membership admin only works part time, so sometimes it could be a week before she is able to make that change.) As manual intervention is required to cancel the membership, manual intervention at the same time to set the end date makes sense to me.