Most of us know by now that having a website doesn't mean much if nobody knows about it. There are many ways to market your website online, including pay-per-click advertising and banner ads on other websites. But by far most effective and comparatively speaking cheapest way of getting your website "out there" is to optimize content so that search engines enjoy "crawling" your website and therefore rank your website highly compared to your competitors.
A very quick crash-course in search engines: Search engines like to show their users most relevant content for a specific keyword. They make use of so-called "spiders" to automatically visit your website to see what your site is about. Only in rare circumstances will a human user from a search engine company actually visit your website. You can imagine that for human users it would be impossible to physically go through millions and millions of websites on a regular basis to check what they're about.
Therefore, search engine spider will see which words are repeated frequently throughout content of your website. If your website is about vacuum cleaners, but you often refer to term "lawnmowers" in your website's content (more than "vacuum cleaners"), spider will incorrectly assume that your website is about lawnmowers.
But wait, there's much more to it than just that. It's also about how you use keyword. If you use keyword "vacuum cleaner" six times on your page, but you are using "lawnmower" in a header to a page or in italics or bold text, search engine might still think that your site is about lawnmowers instead. The proper use of keywords in title of your website, as alternative text on images (that pops up when you move your mouse over it), distribution of your keyword throughout your page (top, middle and bottom), use of your keyword in text-links to other pages on your website as well as use of your keyword in headers, are all important factors that search engines look for.
No, that's not it, yet! This covers probably only around ten percent of search engine optimization. The next item would be keyword popularity. By keyword popularity I mean to say you should investigate how popular your targeted keyword is among search engine users. For example, I might be very impressed with myself for optimizing a site for term "blue socks" so that my site shows up as number one in each and every search engine when you type in term "blue socks" and hit Search. But if on average only two people worldwide searches monthly for term "blue socks", will I get necessary traffic from search engines? The answer is a very clear "NO". If I instead see that 2500 people worldwide are searching for term "sock suppliers" monthly, I would be much better off optimizing my site for this term, right? Correct, but also bear in mind that more popular search phrases normally brings with them more competition. In other words, it might take more of a constant effort to optimize a website for term "property" than for term "cape town property", because you are competing with others who are also trying to be number one for that keyword.