Data can be found on the Web and its available on some Web Sites and/or in Database where it is mostly inside Tables. Usually one has a Web Server that delivers an HTML Page to the Browser. The Delivery works with HTTP. The Database is usually connected to the Web server and transfered to the User via HTTP.
How to access data? Usually there is a number of different an proprietary Web Application Interfaces, data exchange formats. One can combine these data in Mashup Application, but one has to use several different and proprietary APIs. The Problem is as soon as the exchange format or the Interface Definition changes somehow, then one has to rewrite the entire Application. The more different APIs one is using the more complex the Task will be. For example Google is not able to use the Index ad Catalog of Amazon and vice versa. Although they have their own database they do not share this database with the public. And when they do it, they do it in rather a controlled way. The Data can not simply be combined and then published a new and enriched Content.
The Problem is that the data is locked up in small kind of Data Islands and usually other Applications can not use these Data simply by transforming or translating the Data to RDF and OWL and then publish it as RDFS based data and then one can draw connections from one data source to data from another source. In the end one comes up with Linked Data.