Given this sentence:
Ella les cocina a ustedes
Why is "les" used when "ustedes" is used later on? Is this not redundant?
Why would "ustedes" be used further on if "les" is already in use?
In a comment I've referred you to a question which answers this already. In short, if there's an indirect complement expressed as a full pronoun (in this case [a] ustedes), then the equivalent clitic (short, unstressed) form of the pronoun must appear (les). The same, using other persons and numbers:
(This is just a grammar rule, i. e. just how the language works.)
As to why ustedes would be used if les is already in use: for emphasis. You can very well do without it (Ella les cocina). Adding it explicitly simply emphasizes the fact that someone is cooking for you, not incidentally but purposefully, not someone else but you. In this example it could also be useful to avoid ambiguity because les on its own can mean "you" (plural) or "them" (except in Spain, where plural "you" is vosotros).
Some time ago we discussed (but I can't find that question) the equivalence between these and phrases with para:
Ella les cocina a ustedes. ~= Ella cocina para ustedes.
As you see there's no need to use the clitic pronoun in the equivalent phrase.
Is this not redundant?
No, it is not redundant because by using ustedes you're specifying to whom is Ella performing the action (cocinar).
If you were to simply use Ella les cocina, the statement would remain a phrase rather than a sentence.
Ella les cocina.
Ella pudiera cocinar les a ustedes, a ellos o a aquellos. Thats why you specify to whom is She cooking.