You can get more complicated with tables than simply using index values. You can create sub (child) tables & instead of index values it's possible to assign names to each entry instead.
The index version is good though because it's easier to iterate through & it's also possible to use math.random() function to return a random entry from the table which could be useful if you are wanting to add dynamic sound / music cues to your game. Example: create a table or multiple sub tables based on music / sound type & have it access a random sound file from a specific sub table.
In other words: there's lots of things you could potentially use tables for.