Is there are difference between:
a) When you have finished, you can go home.
b) When you are finished, you can go home.
In terms of general meaning (and result!), there is no real difference. The difference between "have finished" and "are finished" is:
"have finished": focuses on the action (verb)
"are finished": focuses on your state or the state of your work (adjective)
Hope that helps!