When everything is in the same project, you can develop much faster. I find that making dependencies between projects in Flex Builder doesn't always work (a bug I'm sure will be fixed eventually). So when I set up a modular app as multiple projects, the first job is to get an Ant script going with targets that build everything.
Even for a shell and one module you'll probably need at least 3 projects. The Shell, The Module and the Common library that holds any classes they both need.
So for a small app (like the Sea of Arrows site:
http://seaofarrows.com/srcview) I do everything in one project if possible. But for large projects where there are many modules and team members working on them, it can be beneficial to do the extra setup required to break it into separate projects. For instance if its a commercial project and you want to outsource a few modules without giving the game away, so to speak, you can give the contractor access to the specs and and source code for the module, and a way to deploy it into a working build of the app, and effectively isolate them in a single project.
-=Cliff>