CGI programs allow for some dynamic processing in an otherwise static medium [the world-wide web]. CGI scripts allow for form data to be processed, and for HTML which is determined by a user's input to be generated. CGI scripts also allow access to files which reside on the web server, which may be databases, text files or nearly any other file [with some restrictions; see the section called Server-Side File Access in Chapter 3].
Since nearly everyone has a web browser which supports HTML forms, no special software is required to take advantage of CGI applications. While HTML forms are limited, the basic form elements [text input, list item selection, radio-button/check-box item selection, etc] do allow for a good deal of input to be captured. Therefore, CGI scripts are very useful for processing data which can be captured by these form elements, which is a good deal of the user-interaction necessary for useful data input.