A frequent question I get from clients is "Why is there so much variation in pricing for web design?" The answer is simple, and it holds true for any industry really. Let's take a simple custom designed Wordpress site with 20 or so pages for example, you can expect to find pricing anywhere from $500 - $20,000 for the same site. Let me try to bring some clarity so you will know what you should expect to pay;
Most professionals and firms will likely bid on a flat-fee basis, however to give us a frame of reference let's talk hourly. For a professional, you should not expect to pay less than $75/hour. If you are hiring a firm expect an hourly rate of $150 or more depending on the firm size and location (within the U.S.).
Having built hundreds of sites, I can tell you there is a minimum amount of work that should be done to build a site correctly. The site needs to be designed then built to W3C standards, code should be valid, SEO functionality needs to be included, some basic functionality in the CMS needs to be installed and configured. On the low end, if you're paying less than $3000 don't expect a high level of quality or service, nor would I expect that designer to be around very long -I've had several clients try to hire a low-end developer only to have the site poorly built and then when it comes time to fix items on the site the developer is no where to be found. This should come as no surprise; if they are only charging $2500 for that much work, they clearly didn't know what they were getting themselves into, they probably can't afford to feed themselves, and they probably had to go get a job. The last thing they want to deal with is the mess they made of your site. For a solo designer/developer to do a good job designing and building a website, plus survive, expect to pay $5000+ on the low end. If you're hiring a firm, double that price on the low end, but more likely you're looking at $15k-$20k. If you're looking for custom backend development, expect to pay significantly more.