Using a generator allows us to create an iterable object that yields chunks of the input list on-demand, without generating the entire list of chunks at once. This is memory-efficient, especially for large lists, as it avoids storing all the chunks in memory simultaneously.