Most people would recommend storing your data in a database for performance reasons, i.e quick to query and search. However I believe there is also the benefit of currency when data is in a database. For example, if you pass a shapefile to a colleague they are likely to use that indefinitely but the data may have been updated. Where as if the data was stored in a database and the user connected to that database using ArcGIS then they would always see the most current and up-to-date data.
So the main Pros of a database are
Performance
Querying
Indexing (although you can index in a FileGDB and MDB or even have a shapefile index however I have found that you can give a database more RAM when indexing, so I put this down as a Pro to the database)
Spatial Functions run quicker in a database
If you have text or addresses you can have Full Text Search
Cons
Knowledge - affects both Proprietary or Open Source
Dedicated Server in productions
Costs - setup and running
FileGDB/MDB
Pros
Portable
Plug and Play (almost as simple as shapefiles)
Can be compressed to reduce size
Cons
Can take a long time to create (my personal experience) for a lot of data
ESRI Restricted(ish)
Concurrent Users
File limits
MDB is an microsoft access backed geodatabase which ends up having a file limit of 2Gb so if you have more data or want to provide more access to other uses then use a FileGDB.
More differences can be seen here http://webhelp.esri.com/arcgisdesktop/9.2/index.cfm?TopicName=Types_of_geodatabases
Hope that gives you some idea