Many web developers will cram too much into a site, but other will oversimplify. The challenge is to find just the right balance of content and class.
To do this we need to look at those who are accessing the site, what your target audience is. The basic facts are most important, one commonly forgotten is the attention span of surfers.
A while ago they did a study and found that most surfers will navigate away from a page that takes more than 30 seconds to load, this study still holds true today. Back then our connection speeds were all around the same, with a few variations.
Today connection speeds vary depending on many factors, one is linked to another basic fact, mobile devices and connections are still very slow over all, though much faster compared to 20 year old connection speeds. The fact is that most traffic now comes from these mobile devices.
Speeds of mobile devices are affected by weather, surrounding structures, and other factors. This means you can count on them averaging half what the most used speed is, and the most used speed is never top of the line.
So you need a mobile site that loads quickly, and a desktop site that loads quickly because tablet users will be interested in those most of the time. This means few graphics, few scripts, and few embedded pages.
While this sounds like an impossible limitation it is not as hard as it sounds, thanks to the newest HTML. By combining solid HTML and CSS you can create a fast loading, elegant, and even fancy website.
But then you have to factor in screen size which varies from gigantic to tiny. Tiny screen sizes will require high contrast, sharp lines, and simple elements to make the site usable.
Giant screens can also benefit from this design approach, reducing the clutter makes finding your way much easier, keeling the focus of the user better. The catch is that you cannot have too much difference between the mobile and desktop versions or you lose your brand.
Which leads to another basic fact, users love branding. Branding is really a theme for the entire company, and changing this theme too often will confuse or alienate loyal customers.
So your site must reflect your business theme, even for brick and mortar shops, which creates a huge challenge for developers. This is my favorite part of web development, maintaining the theme across the web and physical world.
The interface must also match the theme, this is why cookie cutter interfaces and menus are, essentially, a bad idea. My last major project was for a tattoo parlor, a very basic kind of store run by a charismatic music head.
So I designed the site to match the people who worked there, adding in some artistic license and keeping all the graphical elements themed to match. The end result was exactly what the shop's owner had envisioned, it is also so functional that he has seen a huge increase in traffic from the internet.
This is what all websites should be, elegant, simple, functional, and fast. The key is using as few extras as possible, and design the site so it's useful as it loads.
Here's something I see too often, people will design a site that preloads, meaning the entire page has to load into memory before the surfer can access it. This is a huge mistake, unless the site takes less than a second to load on the slowest speed.
The menu and banner should display as soon as it's loaded in all cases, if the user cannot see the page load their attention span is cut down to about 10 seconds. This means that any hiccup will cause them to navigate away to another source.
Do not be the cause for losing business, or someone like me will be taking your contract from you. Pages that take too long to load and are preloading are the cause of most lost traffic.