If you’re good at what you do, you short yourself. My main problem with charging hourly is that it punishes the freelancer for being fast and efficient. I purposely put time and effort into making reusable templates for different things that a project may need (a dropdown menu for example). Then I customize my templates depending on the project that I am working on. These templates can sometimes save me hours of work.
It’s not fair to clients. Depending on your field, you may have instances where you run into unforeseen problems. If you are a web developer, you may run into a unique road block with Internet Explorer that you have never encountered before. This problem may take you hours more than you estimated. A fixed rate can balance unexpected problem hours with time saving templates so that the price will come out cheaper for clients in the end, but also leave you with more money (since you are not shorting yourself).
Hourly rates can scare clients away. Some freelancers may have an hourly rate of 75 dollars. A rate this high may sound high to a full-time employee working 40 hours a week. It is much less threatening to say that you can do X for $75 dollars.
Clients like to know prices up front. People who pay for services or products like to know how much they are going to have to pay. With an hourly rate, the exact price will be harder to determine. Which would you rather hear?
It’s time consuming. Constantly starting and stopping timers is time-consuming and counter productive.
It encourages lower productivity. When you are getting paid by the hour, there is no incentive to work smarter or efficient. Actually, the slower you work the more you get paid.
In addition to the reasons above:
The client knows exactly how much the project will cost. At the beginning of a project, your client will ask for an estimate. If you are charging per project, determine how much to charge. If your hours go over, you may lose money. If your hours go under you may make more money than if you charged by the hour. Once you get the hang of estimating the cost of your service you will increasingly get more accurate.
There will be no surprises when the bill is sent. With hourly rates, a client may be in for a surprise if you go over the hours that you quoted them. A flat rate will make it much easier for the client.
Usually the best solution is to use a combination of hourly and fixed rates. I usually will quote a client a fixed rate based on the hours I think a project will take multiplied by my hourly rate. I will then have an hourly rate for everything that is not included in the project scope and for future updates for the site in the contract.
If you charge a flat rate, this does not mean that you are working on a project for an unlimited number of hours until the project is complete. Your contract should lay out the scope and terms for the project.
All in all, experience will help you decide how to charge for your projects. What works for me may not work for you. Everyone has their own methods for billing and the more you work, the easier it will get.