Nowadays many people run a site, and often there are many sites a person has - such as blogs, personal cards, portals and so on. Site downtime is th type of event that could cost too much to its owner, especially if that's well-known site, e-shop or any popular network service. The ability to receive early warning about all site's problem can save much time and other resources to the webmaster.
I should add also, that every site nowadays is not just a server sending static pages; all the Web is now highly dynamic. It means that in fact every Web site consists of one or more Web applications.
There are no standards on the Web applications efficiency, required response time and so on; however, it's a common practice to consider the site response within 1 second a very good time, and the site response within 5-10 seconds an appropriate response time. Thus, there shiuld be means to set the necesary response time to monitor the site, and in every given case to adjust the timing accordingly.
Web application is the one that uses HTTP to communicate. I have used a number of miscellaneous Web applications and I should stress that one should be able to monitor not only GET, but also POST and, perhaps, other type of requests as well. GET types are most common; they are enough to monitor the site main page and Web application default entry. However, if I am to make sure that a feedback form, or any similar kind of facility is working as expected, I should be able to send POST request as well and test the results.
Of course one should be well aware of the logic of any given Web application, since GET requests are often used to retrieve data, and POST requests are used to apply changes. I.e., if a form is known to send, say, an email, precautions should be taken to prevent automated email sending by testing a POST request on a page.
I should also add that checking error codes returned isn't enough, since many Web applications from, say, CMS group may send send custom response along with error code (404 or 503 or anything else) and/or redirect to a special page handling missing pages, unauthorized access attempts and so on. To detect that a page wasn't found one should check the returned page as well, possibly looking for a string (pattern) to detect abnormal situations.