Basic SEO practices for newbies:
The thing to remember is that SEO isn't a magic bullet. It's important, but no one knows the exact algorithms the Search Engines use, and each one is different so all you can do is optimize the best you can. There happens to be a few things that you should just always do whenever you make a new website. Don't stress over every little thing, just make sure you are doing it, this should just become kind of automatic for you.
Make sure you fill in your meta tags with a good title, description, and the right keywords. I personally don't think the keywords meta-tag is nearly as important as everyone else on here does, but it gives me a way to organize my keywords list for me to reference. When you start having many different websites, it's good to include whatever notes to yourself you can. When you come back to work on an older site you might not remember eveything you were thinking before. The metatags help you remember your site info as much as it helps the SE figure it out. A good rule of thumb is that anything that won't hurt you for SEO and might help, you should use and use correctly. Definately use the title meta-tag, try to include keywords in the title. Definately use the description meta-tag, google will normally use this for the summary it displays in the listing. It isn't used for indexing so write it for humans, this is what gets people to click on your link when they see it in the SERP. Don't use the same metatags for every page on your site. Take the time to make them be specific to each page.
Create good content. Make sure you have some decent content. Content is what the internet was invented for. If you have unique and quality content, then all the seo and backlinking you're doing is just to get the ball rolling. Give them what they want, show them where it is, and they'll start coming. If it's good enough then it'll eventually start building on its own naturally because people like what they found. That's the idea anyway. So whenever possible use the best page design and the best content possible. Avoid duplicate content between different pages on your site, the SE will most likely penalize your site for that.
Remember, your content isn't just something to get google to like your site, it is the whole point of your site. The content and how you structure it is what will make visitors do what you want when they get there. If it's crap they'll just leave, and 99% of them won't leave by clicking on your adsense or affilliate link, they'll just close the window or use the back button. (yes, of course if your doing blackhat stuff you can make the browser go where you want, but that's for a different discussion.)
Include your keywords. Structure your content correctly, make a few title headers in the content that include keywords (use header tags h1, h2, etc.), try to have a keyword density around 2% in your content, and maybe 4% for the whole page including the metatags, alt tags, anchors, etc.
Be sure that your .htaccess is set up correctly. Decide on which way you want your url to be and stick with it. If you decide to use www then always use it like that in your links, don't use both. I usually set up a 301 for all www requests to redirect to non-www urls. If you don't set that up then every single page on your site can appear to google as having at least one duplicate. If that's the only thing wrong on your site it isn't going to kill you, but it's so easy to fix. If you don't know how to set up a redirect in your .htaccess file then just do a search, there are many other threads explaining it. Check google if you can't find it here. Also, .htaccess only apples if your on an Apache server, Windows servers do it a little differently, if that applies to you then just search google to find out how to do it. If your consitent in your linking, then the only time the redirect will come into play is if you get natural backlinks that you have no control over. You should also specify which you prefer, www or not-www in google tools if you use it. (If you don't then you really should, I recommend you set yourself up an account for webmaster tools and analytics.)
Make a robots.txt file and I like to include a favicon because without them the robots will trigger file not found errors on your server. Be sure to configure your robots.txt correctly. Make a custom 404 page. If your site has more than just a couple of pages then also create a sitemap.xml file. It's not a bad idea to just create a sitemap anyway no matter what, it lets you define the structure of your site to the crawlers. Just search google if you don't know how to do any of that, it's very basic and you can find exact instructions within a minute when you do a search.
Other than that there isn't a lot more you can do for on-site SEO. When people ask about SEO they're always thinking of on-site SEO, but thats the easy and quick part. Just do it and get on with it.
Everything else is off-site SEO and involves building backlinks and promotion.
This is where you need to focus your efforts. This is where the magic bullet is, if there really is one.
Social Bookmarks, Directory Submissions, Profile Links, and Blog Comments are really the easiest place to start getting backlinks. It's not a bad idea to purchase these links from a service. They are easy to make, but to do it right they really need to be posted from many different accounts and ip adresses. A good idea when your starting is to do it yourself a little bit to see how it works, then purchase larger quantities from a service. You want to get a lot of links, but you don't want to over do it. Building to fast can look unnatural, just do some searches and read up on it a little more. How many and how fast is a judgement call you have to make. hold off on more complex linkbuilding until you have a little more experience. Linkwheels and other link structures can be very powerful, but can also hurt your site a lot if not done correctly.
Whenever possible include keyword anchors and title or alt tags on your backlinks. Don't always use the same anchors, vary it up a little, use 3 or 4 different keywords and even do a few with some non keyword anchors. You are trying to look as though a lot of different real people have taken a liking to your site, if it were natural then all links wouldn't be exactly the same, so you want to simulate that same type of randomness. Backlinking strategies are all about simulating the natural events that happen as a site grows in popularity. If you can do it successfully then the SE's will give you good position in the listings, and then hopefully what you are simulating can become reality. The point of all of it is to get traffic.
Change up your anchor text. The idea of backlinking is to simulate that masses of people are becoming interested in your site. It should have some amount of randomness to it in order to look natural. I've seen a few made up stats on what's best, but I think a good rule of thumb is maybe about 45% primary keywords, 35% secondary keywords, and about 15% random unrelated like Click Here, and then about 5% just the url. The exact percentage isn't dramatically important, it just needs to seem like the linking is natural.
Create relevant articles containing your keywords, include backlinks using keyword anchors, and submit to article directories. Article directories are mostly authority sites and your article becomes a relevant backlink to your site. Then create profiles and accounts on blogs, social networking sites, forums etc. Include a link to your website whenever you do that and each one of those become backlinks as well.