Simplest way to understand metatables: Allows you to have events, but for tables! The metamethods displayed in the developers hub are all events you can use to make your tables more powerful.
One of them (and probably the most used one) is the __index metamethod. It fires when you index a table with a nil value. Like I said before, it’s an event, but for tables.
Probably one of the biggest questions people ask whenever they encounter this treasure is “why?” One of the most popular uses for them is OOP.
A good in depth explanation which has a pretty good application is this thread right here: