In a nutshell: advertising revenue. Both on Google's site and on other sites.
Google is a major player in the online advertising industry. Every time you search Google, you'll see ads displayed along with your results. Those ads are never "mixed in" with the results - there is no "pay to play" on Google... which is one of the reasons Google became the most popular search engine in the first place. But the sponsored text-link ads above and to the right of the results generate a great deal of money for Google. These ads are known as "Google Adwords." Those who wish to advertise via Google can learn more on Google's Adwords page.
In addition, you may have noticed columns or boxes containing similar text-link ads on other websites - such as this one - which say "Ads by Google" at the top. Google already had a powerful system for selling and displaying ads in association with their own search engine. From there, it wasn't much of a jump to start displaying ads on other websites. Webmasters of popular sites with interesting content can sign up on Google's Adsense page and begin displaying Google ads to their users. Google pays the webmaster a portion of the advertising revenue and keeps the rest. This service is called "Google Adsense."
Got a LiveJournal account? Keep up with the latest articles in this FAQ by adding our syndicated feed to your friends list!