First, GoogleBot starts by fetching a specific url. The bot examines the code of the page, paying particular attention to title, meta description, headers, body copy and ALT text. The info in each of these elements is used to determine relevancy.

Next, the Bot gathers up all the links on the page - looks for <a href="etc, etc." Those links are put into the queue so that each of those urls can, in turn, be analyzed - this is the act of "crawling." The bot does the same with each of those urls.

After the bot examines the page code, notes the keyword relevancy, puts the links on the page into queue, the page code is then put through a SPAM filter. This looks for anomalous code or any attempt to game the engine, i.e., white text on white background, for a simple example.

Once through the SPAM filter, the url/page is categorized based on keyword relevancy and placed into the Google Index - the page is now said to have been "indexed."

After a page has been indexed, it is available to show up in search engine results. Just being indexed, however is no guarantee that the page will show up at all, much less high up in the results. A site must meet relevancy criteria to be displayed. Google uses various criteria to rank sites - a completely separate issue than how the bot works.

I'm sure I'm missing some technical details, but those are the basics: