You can assume that anyone visiting your Web site has a full-featured browser, with a keyboard, a color screen of at least 640480 pixels, and reasonably wide bandwidth, right? Wrong! Not every visitor will be using a personal computer the number of connected smaller devices increases each month, and you can no longer make these standard assumptions. Users who visit your sites might be using Pocket PCs, cell phones, or other limited-capability browsers, and they will need special consideration.
In addition, by creating only an HTML version of your site, you're missing out on the hordes of users attempting to visit your site using Web-enabled cell phones, pagers, and PDAs. These devices, in general, don't use HTML but rather some limited sort of markup language, such as Wireless Markup Language (WML), compact HTML (cHTML), or various subsets of HTML used by PDAs and pagers. How do you accommodate these visitors?
Before ASP.NET, the only reasonable solution was to create multiple versions of your site one for full-featured browsers, one for down-level browsers, another for WML devices, another for cHTML devices, and so on. ASP.NET handles the rich versus down-level browser situation well, and it integrates with the Microsoft Mobile Internet Toolkit to support mobile devices.