One cannot help but notice that StackExchange communities have widely different scopes. For example, SO encompasses a large variety of software engineering subjects with questions on every level, while Math got split into MO, mathematics, cross-validated, and mathematica; electrical engineering has Arduino spin-off; Computer Science has TCS spin-off; etc. Quite often one sees two things of a similar scope, one a tag in a wide SE community and another an SE community of its own. Sometimes one even sees a tag (i.e. arduino in EE) identical to a whole community.
Are there reasons for that? Are there guidelines that would indicate whether a certain thing should be a tag or a community?