Darren,
It seems you had an hourly contract. You can end it anytime. There is no reason for you to wait for 3 weeks for a few hours of work, unless it was agreed in the beginning itself.
May be the freelancer is not skilled enough to take on the work or they are just lazy, it is their problem and not yours. You should not feel obliged to cover their incompetence by continuing to work with them
I would personally not feel obliged to continue working with any freelancer who was not providing me the results I wanted.
You can pause the contract and ask the freelancer to provide you the files they have worked till now.
Also do not forget to revoke access to any system that you may have provided them,there are many freelancers who turn all vindicative and do disruptions when they are confronted. Some even come here in forum to justify their acts .
After they have submitted files, just end contract and provide fair feedback
If they worked on nothing or you do not need their work, you can simply end the contract and be done with it.
Warning people on this forum is seldom useful as the names would soon be edited by moderators as posting names is a violation of community guidelines.