Like bpat, I work for a web development company and we do similar work as well (also not the "taking the money and running" :p).
He covered all the important points but let me describe how we approach projects:
When a client approaches us with a website, we generally have a face-to-face meeting with the person(s) to learn about their website/business and to essentially gather requirements. If they're still interested then my manager will talk with us developers (it's a small company) and we'll figure out what the project will cost. He will then prepare a proposal to send to the client, usually with some additional "bells and whistles"/options and their cost should the client choose to include them.
The client chooses what he wants and lets us know, which at that point my manager drafts up a contract which includes all the legal stuff plus a complete rundown of the site's functionality and design. We send that to the client and he signs it.
In terms of charging for work, it depends on the size of the project, but generally we do 50% nonrefundable deposit upfront and 50% upon completion. I can understand how this might make some people uncomfortable, but you'd be surprised how many clients just go away, or we never hear from them for months, sometimes even longer; it's hard to pay your staff and other expenditures if you have no money. If the project is particularly large or the client is really uncomfortable dropping that much at once, we'll break the project into three milestones and do 30%, 30%, and remainder upon completion.
The design process begins, and we offer the "unlimited design revision stage", which is legally capped at 25 hours, but that's enough time to redesign the site about 4 times, so they can essentially get 5 different designs for one price. We have a great creative director and she really knows her stuff. We have only ever hit the 25 hour cap twice in the company's history and both times we gave the clients more time at no cost; we really stand by our designs. We don't begin coding until the client approves and signs off on the design. Generally we do the home page and a general content page, but larger projects will have many pages designed.
Generally, we force the client to send us their content before showing them the "release candidate" of the website. This is really just a tactic to turn the site over sooner, as our biggest delays are waiting for the client to send us content, or just hearing back from then in general (you'd be surprised how many clients say they're in a hurry, but when it comes time to get something from them, they drag their feet). We then have a big revision stage where the client can look over the site, make all the notes/changes/etc. required, and then send them to us. We then show them the site again, and only really do any changes that we missed or are bugs. Once they essentially approve, we get the final payment and upload their site to their host. We offer a 90 day warranty on the site upon completion, so any bugs that are found will be fixed free of charge, but generally even if it's after the 90 day period, if it's a legitimate bug we'll fix it no problem, as we really stand by our work.
My company maintains a 100% transparent pricing policy. The price that's on the contract is what the client will pay, no questions. There are no hidden fees of any kind and we don't hold the website hostage (the final payment notwithstanding). If the client wants to add some additional functionality that is not within the scope of the project, we have no problem giving them a quote. We only do the work and subsequently charge the client when they have given us approval in writing (we get paid first, though). None of our projects are worked on on a "hour-by-hour" basis. They all have contracts with a fixed price. The only hour by hour stuff we do are maintenance contracts and other random things clients want us to do.
It's very important that you can at least sit down with someone from the company and discuss their process with you. We sometimes just do phone meetings, but we try to encourage clients to come to our office so we can meet them and gather requirements easier.