That's correct. This makes me sound bitter, but here's how it really works:
They ask for a ballpark estimate, and you quickly throw out a number that's believable but not too high so as to scare them off. This is usually done by a sales person who IM'd a free developer and gave a two or three line summary of what the client is suggesting.
Then there is some back and forth, where they customer adds or removes requirements, and the number changes somewhat accordingly, but really, in the context of sales, not technical challenge. "Oh we wrote X for some other client a while back, we'll throw that in for free."
Then it might get complicated, and you get nervous, and you suggest having the client pay to do a detailed analysis. The customer says no, cause, you know, those ballparks are awesome and free.
You agree on an approximate number and contracts are written up. Because really, the ballpark is the actual estimate. We were fools to think otherwise. But of course there is lots of wiggle room and vagueness written into the contract because you nor the client didn't really want to spend much time fleshing it out.
Customer signs. Contrary to what you might think, you just won! You hooked 'em!
Now, you work on the project, and maybe you hit the ballpark, and maybe you don't. If you don't you go back to the client and say, "Well, you know it was just a ballpark estimate, we had lots of new things come up, and you added this and that, and now it's going to cost more money."
Customer can't argue too much, because they didn't want to pay for a detailed analysis, and they did ask for a ballpark. And now they're already in it for some money, and to bail now would mean losing that investment. So they spend more.
Lather, rinse, repeat until the project is done or the customer is out of money.
Now don't think I don't find this system awful - I do. But that's how it works. You'll never get it to change because it will always involve ignorant sales people and ignorant business owners, and they are playing a social game, not detailing a technical endeavor.