Explaining in very simple terms:
Let's say you are the Owner of a property and you have 1000 tokens. You also have 3 persons working under you as "Employee1", "Employee2", "Employee3".
Calling the approve
function, the Owner of the property approves Employee1 to use 200 tokens for certain purpose ("address of owner" approves "address of Employee1").
This only approves that "who" is eligible but "how many tokens" is not specified. This is where the allowance
function comes into picture: it tells which address is given what amount of tokens to be used (in our case: Owner allows Employee1 to spend 200 tokens).
So Employee1 is only allowed to use 200 tokens of the total of 1000.
Hope it helps!