Totally agree that the instructor should be reimbursed for their loss of earnings but remember a very small part of the hourly rate also generates money for the club - no fly and no 'profit' (and I use the term very loosely for UK GA clubs...!). There are other fixed aircraft costs that have to be paid regardless of if it flies or not like insurance, CofA fees etc.
At a busy club it also stops other people flying who may have wanted a slot but they were all taken.
At our club their is 'penalty charge' for no-shows or late cancellations but every case is treated individually and it is very rare that it is charged. There isn't anything to sign, just a polite notice in reception.
I personally think that some people think that as it is a leisure activity to them, then it is a leisure activity to all, including the club and the staff, so if they get drunk the night before or have to go shopping it doesn't really matter if they don't turn up or cancel at a hour's notice.