Here is a view point from the application side.
A codebook $\mathscr C$ of length $n$ over an alphabet $\Sigma$
is a subset $\mathscr C \subset \Sigma^n$.
The automorphism group $\mathrm{Aut}(\mathscr C)$ of a codebook
is the subset of permutations on $\{1,2,\dotsc,n\}$
(which acts on $\Sigma^n$) that fix $\mathscr C$.
Code designers prefer codes with more structures;
so the alphabet $\Sigma = \mathbb F_q$ is usually
taken to be finite fields, especially $\mathbb F_2$;
less commonly the alphabet is taken to be a ring,
such as $\mathbb Z/4\mathbb Z$.
Once the field structure is given, code designers will focus on codebooks
(subsets of $\mathbb F_q^n$) that happen to be subspaces of $\mathbb F_q^n$.
This is the case for all codes mentioned in this page:
Hamming, Golay, Reed--Muller, BCH, and their extended versions
are all linear codes.
And hence the discussion of automorphisms of codes is commonly limited
to those codes who already have a lot of algebraic structures. [1]
IMO, there are several reasons why code designers
like to talk about automorphism groups:
It is easier to design the decoder if you have a big Aut.
- Example: The optimal decoder of the first-order Reed--Muller RM$(1, m)$
is basically a majority voting system,
where the "voters" are vectors in $\mathbb F_2^m$.
- Example: Some belief-propagation decoder of polar codes uses the Aut
of RM codes (not the Aut of polar codes) to permute the Tanner graph.
It is easier to analyze the code performance if its Aut is big enough.
Example:
- Reed--Muller codes achieving capacity over binary erasure channels.
The proof uses the fact that the Auts are $2$-transitive.
- The computation of code invariants, such as
weight enumerators and Tutte polynomials, may be 10x or 100x
faster if you can "quotient" the computation by the Aut.
The general paradigm has that
the performance of a code is linked to the size of its Aut.
- Example: Golay codes are so good and have large Auts.
- Example: Even for codes that are known to be good for other reasons,
people would try to figure out its Aut for the sake of
"maybe we can improve this code by making Aut larger".
More on the very last bullet point.
Recently, as polar codes succeed in practice,
people start looking at ways to improve polar codes further.
It is reported that RM codes perform better (in fact, nearly optimal)
if a high-complexity decoder is used.
So one promising path is to make polar codes, which usually assume
a low-complexity decoder, "more RM" and see what we got.
The latest result I am aware of proves that
almost-RM codes achieve constant rates over binary symmetric channels.
[2002.03317]
Hope that RM can achieve capacity over BSC and confirm
the long-standing conjecture.
Footnote
[1] Making the codebook a subspace is good in practice because
a cellphone/satellite can simply implement an injective linear map
$\mathscr E: \mathbb F_q^k \to \mathbb F_q^n$ to encode messages, where
$k$ is the dimension of $\mathscr C$ as a vector space over $\mathbb F_q$.