The advantage of S-boxes is that they can be hand-tuned
to maximize non-linearity of diffusion. Linear relations
between inputs and outputs tend to make an attacker's project
easier. Most basic algebraic operations that one might perform
on a block fail to break up linearity in input/output
relations (but some ciphers, like IDEA, nonetheless utilize
solely algebraic operations and get their strength via more
rounds and other strategies).
The limitation of S-boxes is basically the same as their
strength. Since S-boxes are hand-tuned, they must be
performed via lookups to tables rather than as fundamental
operations. Practical constraints on both design costs and
implementation requirements (i.e. memory usage) require
that S-boxes operate on comparatively small input blocks.
A lookup table with 2^6 entries or even 2^12 entries is not
bad, but a lookup table with 2^32 entries is unworkable.
Therefore, a number of S-boxes typically transform sub-blocks
of a round input in a parallel fashion. The outputs of the
collection of S-boxes are then combined and mixed using other
operations.