Вы бы предоставили сервисы для тех случаев, когда другим приложениям может понадобиться доступ к вашим данным (например, смарт-клиент, другое приложение, приложение winforms и т. Д.). Многие люди будут разрабатывать с использованием веб-сервисов, чтобы в будущем им не приходилось реструктурировать веб-сервисы.
Практически в любом профессиональном / корпоративном веб-приложении вы хотите отделить уровень пользовательского интерфейса от уровня доступа к данным, чтобы не вставлять вызовы Linq to SQL на уровне пользовательского интерфейса. Вместо этого у вас будет промежуточный уровень обслуживания, будь то веб-службы, WCF или просто DLL с бизнес-логикой, которая управляет вашим уровнем доступа к данным. Независимые уровни проще поддерживать, обновлять, реорганизовывать и изучать, поэтому первоначальные вложения в их создание стоят усилий.