I can't speak to whether this applies to Roblox specifically (hopefully someone with in-depth knowledge of that tool can share a more detailed answer), but most programming languages don't give you a choice of which parts of a parent type to inherit or which ones to skip.
Once you inherit from a particular type, you get everything that type defines, even if you don't plan to use half of it.
So you often end up leaving the items you don't need with their default implementation, or overriding them with an implementation that throws an error in case someone uses these unsupported methods by mistake.
Even if this inheritance restriction does not apply to Lua scripting directly, it may apply to the underlying back-end code that the script interfaces with.
The actual inherited methods cost practically nothing (just one extra entry in a VTable somewhere, not even an entry per instance), so it's often not worth the grief of refactoring the inheritance hierarchy into a more complex form to avoid this unnecessary inheritances.
That said, this kind of inheritance complication is one reason why game developers often favour composition over inheritance, as a way to glue-together only the functionality a particular entity needs, without hauling in a pile of unnecessary inheritance, or locking the types into a rigid contract with one another that's difficult to modify later.