One reason for all the churches has been brought up - doctrine splits of one kind or another.
Another reason is the feeling of community in the church. Some people like me don't like large groups. Some of the megachurches have thousands at each service. I am not comfortable in the crowd. Others I know want to feel like they have a voice in the church which probably won't happen in a mega church.
A third reason is outreach. A church may sponsor a new organization/church targeted at a specific under served group - immigrants, younger people, etc. that don't feel like they fit in the existing church.