You will provide services for cases where other applications may require access to your data (for example, a smart client, another application, winforms application, etc.). Many people will evolve using web services so as not to allow themselves to restructure web services in the future.
In almost any professional / corporate web application, you want to separate the user interface layer from the data access layer so that you do not embed LINQ in SQL queries at the user interface level. Instead, you will have a level of service between them, whether it's its web services, WCF, or just a DLL with business logic that organizes your level of data access. Independent levels are easier to maintain, update, refactor, and learn, so upfront investments in their creation are worthy of attention.
source share