Never mind the experts, never mind what you learned in school, and don't worry about what your competitors do, put a stake in the ground and define the purpose of your web site and then make it deliver that functionality. Don't let it get lost in layers of design or unnecessary technology. What is a good web site? Ever been on a web site trying to do something that you were supposed to be able to do on that site and couldn't? That's not a good web site then. It doesn't matter how good it looks, how much effort went into the color scheme, or how slick the JavaScript code is that makes the little rollover buttons, if I can't find what I'm looking for, then it's not a good web site, it's a bad web site.
What defines a bad web site? Ever been on a site that looked like a 3rd grader made it? Ugly font, strange color choices, images that were not very polished, plain links instead of fancy buttons and Flash animation? Did you find what you were looking for? Did you get the information you needed? If so, it's a good web site.
Functionality is more important than looks. People will not stay on a web site that is hard to use. They will not return to a web site that does not work like it should. Your web site can be functional and look good, all it takes is planning and possibly less work than you would have put forth on a more complex, overly done design.
Have you ever been driving and have a deer wander out in front of your car? The deer just stands there staring at the headlights and doesn't know what to do. This is where the saying "Lost like a deer in headlights" comes from. Don't make your web site visitors have this same reaction. Don't present your visitor with 101 selection, flashing lights, bells, buzzers, and whistles when they land on your web page. They may never make the choices that you expect them to or that you assume they will. Keep your pages focused and simple. Don't make someone work hard to buy something from you, it should be very easy.
One way to create better pages is to minimize the use of packages like Microsoft FrontPage, Adobe GoLive, or DreamWeaver and do more of your coding by hand. Learn enough HTML so that you can start a page in one of these layout packages (if necessary) and then finish and maintain the page in a text or HTML editor. You'll understand your pages better and you'll know how they work. Plus, you can modify them faster.
Over the years, I've built a lot of web sites and it's easier to modify and change the ones that I've coded by hand as opposed to the few that were built entirely in a GUI layout package. Why? Because layout packages like FrontPage change over time. When you open a site you created in layout package "x" version "n" two years later in version "n+1" and it no longer looks like it should, you'll understand why I like to edit my own HTML! Or, when you spend hours trying to get something to line up correctly in a layout package and finally start looking at the HTML code and realize that it's a mess and redo it by hand in half the time without the problems, then you'll understand why I like to edit my own HTML! But the main reason is that once you understand HTML, it's easy to just do it by hand!
If your site is supposed to sell something then streamline it for selling, if it's an information site, then streamline it for providing information. If you want both, then create two sites and link between them where necessary. Your target should be to create clean, simple, and functional web pages that deliver to the end user the content or service that the web site was intended to provide.
Fred Black created and recommends www.WebScriptingOnline.com, Learn How To Make Web Page Scripts and Create Interactive Web Pages.