The basic problem with defining a speech community is that it is very hard to decide where such a community begins and ends. Scholars have a hard time defining speech communities because it is an inherently nebulous idea.
The basic idea of a speech community is that it is a group of people who share certain basic assumptions or rules about how language will be used. But this definition is exceedingly vague. To define or identify a particular speech community, one must try to understand a number of issues. One must determine, for example, what constitutes a basic assumption about language. One must determine when two groups have different assumptions about language. One must determine how to understand a situation in which two groups seem to be very different in sociological terms and yet share some common ideas about language. One must decide whether to allow the people in the speech community to define their own community or whether to impose definitions that seem valid from the point of view of the researcher.
As can be seen in the links below, sociolinguists struggle mightily with defining speech communities because the concept is so vague and the boundaries of potential speech communities are so unclear.