When teaching my SharePoint dev classes I often tell the students that SharePoint sites are only a nice GUI on top of the many classes within the WSS and SPS object model. The real power of SharePoint lies into providing you with the infrastructure to store documents, lists, collaboration info and so on in SQL Server and allow for access and display of that content in a lot of flexible ways. I know a company who completely started from scratch with their own ASP.NET application on top of the SharePoint object model. They created a generic framework of re-usable user controls and can come up with just the type of site a end-user needs very quickly. All of this is possible and realizable. So, I completely agree with Mike when he states:
SharePoint sites are data. Not application code. Data.
Architecturally, the DHTML interface we provide via ASP.NET is really just one way of getting to a SharePoint site. A nice way. An important way. A way to which we’ve devoted a lot of work and to which we continue to devote a lot of work. A way you can extend with Web Parts to pull in non-site data or new views of site data. But ultimately, it’s not the star of the show, but rather a much-loved supporting cast member.