The main advantage of a modular design is the flexibility you gain, assuming you can produce enough modules to stock every fleet base. You can have a pair of engine designs, one high-efficiency, and the other high-power, and a variety of modules containing assortments of armaments and support capabilities, so you can simply hook an engine to whatever module you need for a given mission and deploy it. This also brings disposable modules into the matter; you could go into a hostile system towing a module with nothing except an AS, FC, and a few hundred box launchers, get close enough to launch, and then dump the launcher module and run to escape. This also allows you to mount much heavier weapons and sensors than a ship of that size could normally support, as it doesn't need to propel itself or carry fuel.
The problems, of course, are equally visible: if you can't produce enough to have a variety of modules on-hand at every location where they might be needed, your entire fleet falls apart. Essentially, there are three design routes you can take, small variations aside: modular, fleet-based, and self-sufficient. The first is, as I've just described, heavily interdependent: you need every aspect of your production, logistics, and ship movement to mesh perfectly, or the whole thing falls apart, but in return you achieve a great deal of tactical flexibility. A fleet-based design uses self-powered ships in specific roles; missile platforms, carriers, PD ships, etc. This requires a degree of organization to function properly, but if you can assemble a good fleet mix and keep it supplied, it can largely take care of itself. The final is based around the idea that every ship you build, even if it is larger and more expensive, should be able to fill a wide variety of roles-perhaps not as well as a specialized ship, but with a much greater range of capabilities. The idea behind this is that all you have to do is build ships and keep them supplied, as the fleet mix is irrelevant; the only variable you need to worry about in combat is your total number of ships, or more appropriately, your total tonnage, as every ship can contribute to a wide variety of tasks.
Each of those has its own strengths and weaknesses, and no one is necessarily "correct", as it is largely a matter of the capabilities and needs of your civilization.