Of all of the website design companies on the planet, I'd suggest less than 20% have a semblance of a clue. It's sad, but it's like the rest of the tech industry in general. You have people who think this industry is just a big get rich quick scheme, and really have no drive, ambition, or true wish to be good at it and enjoy it.
We do what we do because we love it and it's what we excel at. Not because we think it'll make us rich -- it certainly hasn't thus far.
Here are some rules to follow (and perhaps questions to ask if you're hiring someone else) when designing a website.
First and foremost, don't use Flash. Period. Flash is for presentations, multi-platform movies, and custom applications. Not website design. Flash doesn't work on all operating systems, it breaks the expected behaviour of the browser, and it is exempt from many of your browser's configuration rules. Ever received popups even though you have a popup blocker loaded? It was probably launched by Flash. Ever visited a website designed in Flash, then clicked back to go back a page, only to leave the site completely? That's because page changes in Flash aren't recorded by your browser.
Which leads into the next point: avoid needless animation, movements, sounds, etc. A website should under absolutely *no* circumstances make noise. Ever. If your company has a jingle, or you're designing a website for a band, put the sounds behind some sort of player that has a stop button, or just make them into downloadable links. Don't think for a second that making things downloadable changes whether or not people will save your copyrighted stuff to their harddrive, either. If you make it playable in a browser via any method, they can get it into a file easily enough. Don't bother. If it's copyprotected and important to you, it shouldn't be on the web. And that little trail of stars you have following the mouse cursor isn't cute or fun either, it's obnoxious. Also, background images should not move under any circumstances. Do not put an animated gif as the background on your page. Falling snowflakes in the winter is a common one. It's not clever, it's extraneous.
Don't open links in a new window: it's irritating. When someone clicks on a link, they expect it to open in the current window. It will *not* keep the user on your site. Your window will fall behind, and just become an annoyance that the user has to click the 'close window' button on when they're done browsing later. Users can open pages in a new window if they choose to usually by holding shift and clicking on the link.
Don't make the text too small. Remember, the general population of people on the Internet is getting older. They can't read 6 point font.
Don't bury your content behind 'intro' pages, or if you insist on an intro, put a 'skip intro' link on the page in plain html.
There's a rule that applies to many different industries in the world that applies to website design, too. KISS. Keep it simple, stupid. When you test your website, think about *why* a person would visit your website, and what they would want there. Make it easy for them to get that. Otherwise, they will go elsewhere. There have been studies done that state a person decides on whether they're going to use and/or stay with a website in the first 8 seconds. Don't spend that 8 seconds showing them needless graphics, trying to upsell them, throwing popups at them, showing them stupid animations, or making them have to try and figure out how the website will even function.
And some really quick, and self-explanatory things: don't use an image when text will do, don't use fonts that nobody is likely to have on their computer, don't make pages that're too large to load in a decent amount of time, don't use high contrast colours that burn retinas, stick to standards, don't use too many tables, and use CSS to style your webpages as best as possible.
And above all else, DO NOT DESIGN YOUR WEBSITE SPECIFIC TO ONE OR A FEW BROWSERS. ENSURE IT WILL WORK IN ALL OF THE BROWSERS MOST PEOPLE USE! "Site designed for Internet Explorer" reeks of a complete and utter lack of rudimentary website design knowledge.