When the Internet and the Web first began coming into prominence, most of the sites you could surf to contained only static content. That is, they offered only text, graphics, and perhaps links to other pages. The early Web surfing community consisted of a host of anonymous voyeurs peering into the contents of those early Web servers.
Until the Web began exploding with interactive sites, there was really no need for the Web site to care who was looking at it. However, any businessperson worth his or her salt will tell you that tailoring and targeting content toward specific individuals is good for business.
The next time you go online to shop or visit a subscription-type site, take note of how much the site knows about you. Very often (if you've provided login information) the site will greet you with your name. It may point you to information or products that might interest you. This demonstrates the notion of personalizing a Web site.
In the past, any personalization of your site resulted from code you wrote, such as code to manage user preferences in cookies or code to store personal information in back-end databases. In addition to simply storing and managing the personal information, you had to integrate the personal information management with whatever authentication and authorization scheme you decided to use.
ASP.NET 2.0 now includes services for personalizing a Web site to suit a particular client's taste. There's no reason you couldn't write your own database and services to provide this functionality. However, as with all these services provided by ASP.NET, they bring with them some consistency and prevent your having to write all the code yourself.