ИМХО чаще подключается DLL. Навскидку приходят такие минусы подключения исходников стороннего проекта:
— Скорее всего исходников подключаемого проекта не окажется в репозитории, что может оказаться проблемой при checkout'е на другом/чистом компьютере
— Если хранить подключаемые проекты в репозитории, то это увеличивает размер репозитория (а необходимость подключения стороннего проекта через исходники может быть сомнительна)
— Увеличится время компиляции проекта
— Возможно, что нужна стабильная версия подключаемого проекта. Допустим, я в своем проекте А использую проект Васи — Б (может и сам в нем тоже участвую), проект Васи Б тоже под контролем версий у меня. Тогда, если вдруг Вася что-то изменит в проекте Б, а я сделаю update проекта Б, то в моем проекте А может что-то поломаться или придется что-то менять.