Ok, so there’s some things here I have an issue with and others I agree with.
I agree that flash is bad, because not everyone has it. If used for menus and the like, you can make a very small, yet complex, menu system that takes less time to download than a pure HTML one. However, not everyone has flash, so you have to make an HTML and Flash version, which is a problem.
Javascript can be bad, but not always. It’s pretty useful in form validation. It can save the end user a bit of time when inputing things, if it tells them they’ve typed a date or something wrong. Yes you can turn it off, so it’s not a security measure, but it’s nice for users.
How do you make a good site? You find all the information you’re going to have on it. Everything. Once you have all that, figure out what goes together and make yourself a structure, what pages link where, what information is on what page.
Once you’ve done that and know what info you want on each page, look at the info and figure out where it should be for ease of use, ease of reading and ease of navigation.
I think one of the best things to do is make a design that can contain all of your data, so you don’t have to learn a new layout each page.
Once you do all that, then you can look at how to make the site look good and where you can put little things that make people think it’s cool. Mouse rollovers (gasp, javascript) and subtle animation can make a normal website look very professional. If you over-do it, then it’ll look bad.
Oh, sound is always bad. Always. Remember that. So are artsy splash screens.
As for the protection on the pictures, just watermark them by putting a semi-transparent logo on the pictures themselves. That way, even if they take your picture, it’ll still have your logo on it.