Это действительно зависит от случая. Если вы храните очень большие файлы, ваша БД станет очень большой - учтите это - это может повлиять на цену вашего хостинга.
Хранение файлов в БД является предпочтительным, когда вы находитесь в веб-ферме - например, если запросы к вашему приложению обрабатываются несколькими серверами, и вы храните файлы в БД, тогда кластеризация SQL - это все, что вам нужно, и хранение в этом случае файлы в файловой системе намного сложнее - вам нужно использовать общее расположение или синхронизировать файлы через ферму серверов!
Я бы использовал БД для хранилища файлов - одно место для всех данных, относящихся к вашему приложению - проще в обслуживании и резервном копировании / восстановлении!
Вот статья, объясняющая, как хранить в БД: http://www.dbazine.com/sql/sql-articles/charran5
Вот интересное чтение о SQL Server 2008 и функции файлового потока: http://www.devx.com/dotnet/Article/40812