A few things to consider that haven't been mentioned:
1.) Beware of huge companies with a team of sales people. If you can't talk to the developer working on your site directly, it's a sign that company is focused on SELL SELL SELL rather than good project management, customer service, and providing a quality product.
2.) Design and development are two different things, yet still very closely related. Sometimes (rarely, even) you can find one person who is good at both. However, there are instances where (due to the scope of the project, time constraints, etc.) that it may not be in your best interest to hire one person to do it all.
3.) Be aware that changes you want to make that are beyond the scope of the project will probably result in additional fees and time added on to the schedule. What may seem like a simple addition to you may in fact be much more complicated to implement than you realize. A good designer/developer can and should be able to communicate to you whether or not any changes you desire are reasonable, within your budget, or even necessary. Good planning is VITAL!
4.) You will get what you pay for. Sure, your best friend's second cousin may be a bargain...but is there a reason for that? It's much less expensive in the long run to hire a company that can do it right the first time, than to go with the cheapo who cuts corners, doesn't communicate, overbooks himself, can't stay within budget or complete things on time.