Web Application vs Website
The fundamental purpose of all web applications is to facilitate the completion of one or more tasks. Unlike visitors to traditional, content-centric websites, users of web applications invariably arrive with specific goals, tasks, and expectations in mind. Of course, that is not to say that visitors to content-based websites do not also arrive with certain goals and expectations, but rather that the motivations for using a web application are almost always explicit and precise.
One of the most important implications of this task-based orientation is the degree to which the application should call attention to itself. Compared to content-centric websites, video games, and various forms of entertainment media, web application design succeeds not when it draws attention to itself but when it recedes into the background. While this does not mean that web application’s design should not be enjoyable and aesthetically pleasing, it does mean that the design should play a subservient role to the user’s work.
A second implication of their task-based orientation is that web applications have to provide users with various milestones informing them when tasks are complete. In other words, web applications have to support an end-state in a way that content-based sites typically do not.
So when is a website a web application? Without being overly concerned about semantics or classification, it is important to establish an objective means of differentiating between a web application and a traditional website. In contrast to content-based websites, a web application possesses both of the following properties:
  One-to-one relationship:
Web applications establish a unique session and relationship with each and every visitor. Although this behavior is fundamental to web applications it is not present in content-based websites. Because a web application requires each user to uniquely identify themselves to the system, typically through a username and password pair, the application can be dynamically altered from one user to the next. This can take both the obvious form of personalized content and the more subtle and complex form of personalized functionality based on roles and privileges. This type of dynamic behavior allows a complex corporate accounting application, for example, to provide different functionality to account managers, regional directors, corporate executives, etc.
  Ability to permanently change data:
Web applications allow users to create, manipulate, and permanently store data. Such data can take the form of completed sales transactions, human resources records, or email messages to name a few. Because web applications are fundamentally database applications–that is, they store and present information contained in a defined database structure the user’s information almost always has to fit within a predetermined format. Certain fields are present; some fields are required, others are not; some require a specific type of value; and still others require a value within a precise range. The result of all this is a level of data validation and error recovery unseen in content-based websites.
Although these two characteristics alone result in a fairly broad definition of web applications, websites that possess both of them necessarily contain a degree of application behavior, logic, and state lacking in traditional content-based sites. In addition, they require a significantly more sophisticated level of user interactivity and software design than what is associated with traditional content-based websites.