The answer varies with the size and scope of the conference. You might have many more "chair" roles, such as e.g., AAMAS, or IJCAI. All depends on the activities the conference runs. In the simple settings when the conference is relatively small, local organizers and program chairs might be just enough. All to do is to organize the venue, catering, registration, finances, etc. (local chairs) and then the technical program (program chairs & program committee).
Normally, program chairs are responsible for selecting, approaching and managing the program committee, deal with the basic publicity (calls for papers and participation - that can also go to local chairs, or even publicity chairs) and then, most importantly run the whole submission, peer-review and proceedings publishing process, normally except for the printing part. Similar would hold for all the other "lower-level" chairs, such as tutorial, workshop, etc. chairs.
Now if the conference runs many activities, you need to manage the whole process and there you go with your general chairs. But again, all would depend on the conference type, size, activities it runs and the traditions in the community.