Extending Base Classes

I was reading someone's description about making an App, and them having to make different .mc files because they needed to use something from a different module and class.

Forgive my ignorance, but I thought that by using the using statement at the top, allowed access to the obect/methods within it?

What is the reason for having to make separate .MC files, to have your new .mc file extend a different Module's Base Class?

Is there something you cannot do without doing that first?

Or can you access everything from within your single .mc file?

Thanks in advance.