Hi Anthony,
Using 1 .dll for all of your plugins makes it easier to wrap some custom logic like utility functions, helper methods, etc. into separate classes and use them anywhere in the code. This is not possible in case of multiple .dll's because Dynamics online does not let you reference external .dlls. This leads to violation of DRY in your code.
On the other side, having multiple .dlls (logically structured) is more maintainable in my opinion and easier to extend adding more functionality. Additionally, it allows your team to simultaneously work on multiple plugins without overwriting each other (For example one can write a new plugin for Account entity, while the other is updating something on Agreement entity)
The way we're structuring depends on the project size. If it's a big project with lots of custom logic (30-40 plugins +) we're using multiple .dlls. In the case of smaller projects 1 .dll should be sufficient.
I should also add that the FS module (which is quite big) developed by Microsoft itself is just one .dll. So probably this is how MS structures it.
Hope this helps :)
Regards,
Arsen.