Understanding the history of the making of Super Orders, Some of its functions are custom, but some of what it does came originally from separate modules and was mashed together to create one module that included all of the things it does.
I suspect the main reason it hasn't been updated in a long time is that Super Orders makes a lot of changes to admin/orders.php which is a file that gets touched all of the time by ZC core updates and nobody wants to try and keep up with it.
My last client that needed a function that SO provides only needed Batch Status Updates, and since the SO module hasn't been updated I ripped batch status updates out and shoved it into a ZC 1.5.6c and it works...mostly, needs some rework for the date picker and layout to work better with the bootstrap template of the admin but it will get the job done.
My position is that SO does too much in one module.
There are a couple of pieces that could probably be brought into core, and some things that could be split off into their own modules, some tweaks to existing core files that would "turn on" if some of the split-off modules where installed:
For example if the PO payment module that ships with SO was split off then the core invoice/packing list could have code added to it to turn on the additions that SO adds to the invoice/packing slip if the PO module were to be installed.
So to answer your question "When we can have it in 1 module, why we need to split it into 2 or 3 modules?" the answer is the maintenance of the module keeping up with core changes