As others have mentioned you should have a clear refund policy listed on your site.
I find it is far easier to just offer fair refunds. Fair is the keyword. If a customer signs up and uses the service for two days and wishes to cancel then give them a refund minus the (2) pro-rated days.
Now with that said, a lot will depend on your situation. If you are just a reseller, if you prepaid the datacenter or if you own the equipment and space yourself. What might be a large loss to you may not be the same loss to another host.
Being fair, direct and consistent with your customer base will keep your reputation in tact will avoiding public disputes from taking place.
I have also had customers cancel and ask for a refund and come back at a later point. A happy customer who leaves is a customer who is far more likely to return.
In addition, if you sell hosting long enough, you will encounter the customer who is never happy no matter what you do. A perfect example would be a customer who rents a dedicated server from you with say 150TB/mo, then needs several hours of labor to help get it setup. Who then, two weeks later comes asking for a full refund while having used all of his monthly transfer . What do you do? What was your policy? Do you still offer 50% refund? What was the hours you spent helping the customer on an unmanaged service worth to your company? In reality you should have already known the answer to these questions before spending the time and selling the service.
Offering a fair refund is the most likely way to keep everyone involved happy. Don't put yourself in a position to lose money and don't take advantage of your customers and you will be fine.