I've tended to use filesystem which has the advantages of:-
1) Not bloating MSDB if you have thousands of packages.
2) Ease of deployment of packages - DTSX files can simply be copied into the filesystem using Windows Explorer.
3) Multi-user security - using NTFS permissions within the filesystem it's possible to grant rights to over-write packages to more than one person. Useful if you have teams of developers all wanting to deploy packages to specific folders but not others.
MSDB I think has the advantages of:-
1) A database backup of MSDB will automatically safeguard all SSIS packages. No further messing about with file-system backups needed.
2) Ability to use the roles within MSDB specifically designed to allocate granular rights to SSIS packages - although I believe that these are more geared around a designated package owner as opposed to multiple people accessing the package.
I spoke to someone who has done a lot of SSIS consultancy and he told me that the split of package stores used by people is about 70% filesystem to 30% MSDB.
My choice at the moment would be filesystem, although I heard a rumour that in the future Microsoft may be including more functionality within the MSDB package store - so perhaps those of us not storing our packages within MSDB will want to move them in there.