What is the difference between a direct product and a semidirect product in group theory?
Based on what I can find, difference seems only to be the nature of the groups involved, where a direct product can involve any two groups and the semidirect product only allows a normal subgroup N of some group G and another subgroup of G that intersects trivially with N.
Is this all? What are the significance? Thank you.
Answer
Let’s look at three related concepts, in increasing order of complexity:

Direct products. We say that G is (isomorphic to) a direct product of M and N if and only if there exist subgroups H and K of G such that:
 H≅M and K≅N;
 H◃G and K◃G;
 H∩K={e};
 G=HK.

Semidirect products. We say that G is (isomorphic to) a semidirect product of M by N if and only if there exist subgroups H and K of G such that:
 H≅M and K≅N;
 H◃G;
 H∩K={e};
 G=HK.

Extensions. We say that G is (isomorphic to) an extension of M by N if and only if there exists a subgroup H of G such that
 H≅M;
 H◃G;
 G/H≅N.
1 and 2 look very similar. In fact, 1 is a special case of 2 (when K is normal); and 2 is a special case of 3: if G=HK, H◃G, and H∩K={e}, then K maps isomorphically onto G/H via the natural projection (the intersection with the kernel is trivial, so the projection restricted to K is onetoone; and every element of G can be written as x=hk with h∈H and k∈K, so Hx=Hk, hence the map is onto when restricted to K).
But each one is a more general construction than the previous one, yielding more general types of groups.
For instance, in Direct Products, the conditions immediately imply that elements of H commute with elements of K:
Lemma. Let G be a group, and let H and K be normal subgroups of G. If H∩K={e}, then hk=kh for all h∈H and k∈K.
Proof. Consider hkh−1k−1. Since K is normal in G, then
hkh−1k−1=(hkh−1)k−1∈(hKh−1)K=KK=K;
and since H is normal in G, then
hkh−1k−1=h(kh−1k−1)∈H(kHk−1)=HH=H.
Therefore, hkh−1k−1∈H∩K={e}, so hkh−1k−1=e. Multiplying on the right by kh gives hk=kh, as desired. ◻
So, for example, if all you know are direct abelian groups, then direct products will only give you abelian groups. If both M and N have exponent k, then direct products will give you a group of exponent k. (In fact, any identity satisfied by both M and N will be satisfied by M×N; but this is perhaps a little advanced for you right now, so don’t worry too much about it).
By contrast, semidirect products are more complicated, because that second subgroup doesn’t have to be normal. The argument above is invalid, and we don’t always get that elements of H and elements of K commute (if they do, then you have a direct product). The smallest example is S3, the nonabelian group of order 6 viewed as the permutations of {1,2,3}, with M=C3, the cyclic group of order 3, N=C2, the cyclic group of order 2, and H={I,(1,2,3),(1,3,2)}, K={I,(1,2)} (other choices of K are possible).
In a semidirect product, the fact that H is normal means that for every k∈K you have kHk−1=H; that is, each k induces an automorphism of H. So we can define a homomorphism K→Aut(H), by letting k map to the homomorphism h↦khk−1. If this map is trivial, you get the direct product of H and K. If the map is not trivial, then you get more interesting groups. Different homomorphisms may lead to nonisomorphic groups, so that now we have to be careful: while there is one and only one way to construct a “direct product” of two groups M and N, there may, in general, be many (nonequivalent) ways of constructing semidirect products of M by N.
Note that it is now possible to have a semidirect product of abelian groups that is not abelian (as in the S3 example). And it is no longer true that if both M and N are of exponent k, then a semidirect product will also have exponent k. For example, take M=C2×C2={1,x}×{1,x}, which is of exponent 2, take N={1,n}=C2, also of exponent 2, and let the nontrivial element of N act on M by the rule n−1(a,b)n=(b,a). Then (x,1)n has order 4:
((x,1)n)2=(x,1)n(x,1)n=(x,1)(n−1(x,1)n)=(x,1)(1,x)=(x,x)((x,1)n)3=(x,x)(x,1)n=(1,x)n((x,1)n)4=(1,x)n(x,1)n=(1,x)(n−1(x,1)n)=(1,x)(1,x)=(1,1).
Extensions are even more complex: in essence, every finite group can be viewed as a sequence of extensions of simple groups (hence, in part, the interest in classifying all finite simple groups). Not every extension is a semidirect product (or a direct product). For example, Z4, the cyclic group of order 4, is an extension of Z2 by Z2: the subgroup H={¯0,¯2} is cyclic of order 2 and normal, and the quotient Z4/H is of order 2, hence cyclic of order 2. If it were a semidirect product of Z2 by Z2, then being abelian it would necessarily be a direct product, and so would have exponent 2; so it cannot be written as a semidirect product.
As I mentioned, every group can be expressed as a sequence of extensions using simple groups. By the JordanHölder Theorem, although the sequence is not unique, the precise simple groups that occur is (counting multiplicity).
The definitions look quite similar: we just drop the condition of normality for one factor when going from direct product to semidirect product; we just exchange “there is a subgroup isomorphic to N that maps isomorphically onto the quotient” with “the quotient is isomorphic to N” in going from semidirect product to extension. But the consequences of these “little changes” is large. Much like the difference between “finite abelian group” and “finite group” looks very small (just a single line dropped), but the implications in our ability to classify/understand the objects in question are enormous.
Attribution
Source : Link , Question Author : retro , Answer Author : Arturo Magidin