Semantics is a word from language and logic meaning... meaning. The idea behind incorporating semantic markup into a website that you're making is to provide meaningful information to any person or program that might want to get a feel for the content of a site without reading it. This can be useful for search engine optimization (discussed below) and other manipulations of the general metadata of your website, but semantic markup is important for more than that. It is filling the structure of your site with a meaningful logic, so that it can serve anybody whatever their purpose.
When you mark up an html page, you are working with the tags that contain your content. The < H1 > tag is obvious in its meaning, and the contents of it will be self-explanatory (it will announce a main title or heading for your page), but that is not the case with every < div > tag and every < p > tag, nor even every < H3 > tag. When Google wants to know what your page is about, for instance, it knows to rely more on the highest order header to glean its meaning, and it can only be more useful that the hierarchy of headers be an accurate reflection of the focus of your page; by making sure the headers you use are used according to standards of logic, then your page can be better understood, not only by Google, but by any person who might rely on your use of code following standards. It is also better for yourself, because as the website creator you can benefit from the logical way that HTML standards operate.
It's not only bots and source-code admirers who might depend more on your semantic markup; standard markup and navigation of your code is necessary for the disabled, like people who have screen readers decode your markup to read the site for a blind person.
Section 508 of the Rehabilitation Act of 1973 explicitly requires that electronic information be made accessible to everyone regardless of disability; anything less is discrimination. Today, this applies to the web. It is your duty, and also a possible liability, to follow the spirit of Section 508. It only makes sense to present your website accessibly if you had reason enough to present it in the first place.
Google and other companies crawl through the web's data, sifting and analyzing, whether to index and provide a service like useful search results or to glean information for private analysis. By being thoughtful and clean in how you follow today's HTML and WC3 standards to make your source code readable, editable, navigable, and understandable, you are helping all of these web crawlers to more meaningfully analyze your website. But nothing is ever a one-way street. Search engine optimization is the practice of manipulating your own website's contents and especially semantic markup to get a certain result, usually to make Google or other search engines find you highly relevant so that your website is suggested to people searching a certain term on a search engline like Google. It's a way of gaining notice, like advertising
Luckily, logical semantic markup can actually help your visibility. You can organically appear to searchers if your website's markup is relevant to the searcher's needs. But the tools of the trade of SEO go beyond that, because search visibility is important for businesses and marketing. If you know how a site like Google finds relevant results, you might take advantage of that, but Google in particular is diligent in outsmarting unwanted "spamdexers".