Force 1: Even for very well-defined projects, it's extremely difficult to accurately predict how long a large project will take. Not to mention all the minor additions and adjustments that will be made along the way. It seems like giving a hard quote is next to impossible and the way to go is an estimate for hourly work.
Force 2: Charging hourly. I typically avoid charging hourly, instead giving quotes based on my internal rate of $100/hr. Although charging hourly can be preferable, see issue 1, I feel that most clients would balk at such an hourly rate and would prefer to pay some offshore developers $30/hr and hope for the best. On the other hand, if I quote $10,000 for a job that's expected to take 100 hours, they will generally feel the quote is fair.
How do you go about quoting/estimating large projects?