So why does MapBasic have these different file formats? Some programs are fairly straight forward and can be completed with little code. In these circumstances everything can be included within the one program to make it run as an executable. Once programs become more complex then it makes sense to break up the tasks into a modular format and hence the development of the (*.MBO) format to facilitate this need.
Here is an example of the project file format:-