Redundancy of data is extremely important to give data availability guarantees. Suppose we have 4 data chunks. If the block producer wants to hide a particular chunk out of the 4 data chunks, then being a light client, the probability of querying a data chunk at random and selecting the exact chunk the producer wants to hide is 1/4. Now suppose the block producer erasure codes the chunks such that 4 chunks are extended to 8 chunks in a way that any 4 out of 8 chunks are sufficient to generate the entire data. Now, to even hide a particular chunk, the producer needs to make sure 5 out of 8 chunks are hidden, otherwise, revealing even one more chunk reveals the entire data. Now, a light client randomly querying a chunk has a probability of 5/8 of choosing a data chunk that the producer wants to hide, hence having a much higher chance of catching a data hiding attempt, even with a single query. 

Repeating such querying multiple times allows us to amplify the probability of detecting data availability attacks. Hence, redundancy is very important, even if it comes at the cost of increasing storage and communication bandwidth requirements.