From my experience, this is adding minor features at increased implementation and maintenance cost in comparison with using just “pure” Microsoft.Net, ASP.NET and IIS application.
Sharepoint 2007 = ( no concept of deployment version control etc, narly css/skinning, weird cms features, sp webparts not recommended, very limited worfklow features)
Sharepoint 2010 = ( is everything fixed? )
The generic feeling I have is to stay away from Sharepoint, implement in pure asp.net using proven patterns and practices, architecture etc. And just consume Sharepoint services when suitable.
Is Sharepoint 2007 or 2010 ready for real line of business applications running extranet with thousands of users, or should we just go for asp.net?
Unfortunately there is no clear cut answer to your question, I guess the proverbial “It Depends” is the best answer.
SharePoint 2010 is a big improvement over SharePoint 2007. But, most of these improvements are in the plumbing for Shared Services. So the functionality that is provided with typical collaboration sites is more or less the same.
Not to say that MS did not make major investments in everyone of your concern areas (deployment versioning, skinning, content management, etc).
My guess is if you were not happy with SharePoint 2007, you will probably still be unhappy with SharePoint 2010.