I'd say that the key to success for a small site is stay within the specification and stay away from browser specific tricks or extensions.
Keep your design simple and clean. Less is more means quite a bit in the web - many designers have not realized that yet.
Limit your use of client-side anything, and do it on the server side if you need anything other than simple markup. Roll overs and pop-ups are an OK thing to add, but make sure you don't depend on them for making your page usable.
Validate your pages, understanding anything that does not validate and make the conscious decision to be outside the spec. I currently validate everything to HTML 3.2 or 4.0 transitional. Errors in your HTML are warning signals and should be eliminated.
Don't count on a display being a specific width in order to make your pages look good. You should always test your pages on very wide, high resolution displays, and very narrow, low resolution displays.
Concentrate on information first and presentation second, and your information will be available long after someone elses Flash/splash/Java servelet falls out of vogue.
I pretty much do those things. I'm a huge believer in simple. Most of the errors I get are for not having alt tags on spacer.gifs, using the marginheight, etc., etc, in the body tag, and then, for the html produced in some scripts that I use. I don't write scripts and I hesitate to mess with them too much. I have not, however, found a way to specify font sizes that I like in CSS, so I still use font tags for that, although I'm validating for transitional, so it doesn't produce an error.