А ничем не отличаются, это синонимы. Есть привычные словосочетания, типа "стая волков", но у Даля, например, волки могут и стадом ходить. У стада горных козлов есть лидер, не менее деспотичный, чем хозяин львиного прайда. Стая гусей - не хищники. У стаи рыб нет вожака. Стадо буйволов умеет действовать слажено и даст отпор любому хищнику или даже их группе. Стадо слонов никак не назовешь "тупой массой" - это сложно организованный социум.
Поскольку слово "стадо" часто применяется в отношении с-х животных, то на этот термин переносится и пренебрежительные сравнения, которые, почему-то возникли у людей (например, свинья, лошадь, козел, баран - все это может иметь негативную эмоциональную окраску). Поэтому, видимо, стадо тоже стало иметь более негативную окраску. Но, это только в переносном смысле. В прямом, по отношению к животным, такие оттенки отсутствуют.
Чем отличается стадо от стаи?
Стадо пасётся.
А стая - летает.
Стая гусей улетает на юг.
А стадо гусей ковыляет на луг.
В этом отличие стаи от стада.
Это запомнить как следует надо!