The SharePoint list has been the primary data storage mechanism for our MOSS 2007 implementations. In SharePoint 2010 critical improvements have been made to the performance and scalability of lists.
In a number of previous projects I have implemented dynamic content type generation with SQL Server. After I started developing MOSS 2007-based solutions I have been fascinated how it delivers this super-flexible design, but to be honest, I have always been concerned about performance. SharePoint 2010 can now support over a million rows per list. The SharePoint and SQL teams have done a tremendous job to deliver this result. Moreover the list index will also be auto-created to further boost performance.
My other favorite new improvement is around the look-up field. It can now support joining multiple fields. In MOSS 2007 we can only pick one field, normally that will be "Title" field, from a referenced look-up list to the display value. In SharePoint 2010 we can now return multiple fields to the referencing list's view. This is functionality that our clients ask for a lot.
List data integrity will be maintained through relationships with cascade delete or block. We can now specify if a list item can be deleted, if it is referenced by another list or if referencing items should be automatically deleted.
Other development-related improvements are the well-anticipated LINQ support. I can't wait to attend the deep-dive session to learn more about it. I recommend not investing any more time learning CAML as it will be deprecated and replaced by XSLT. I don't know why Microsoft choose XSLT as the successor as I would have preferred them selecting a more .NET-like approach. I guess I can't have everything I want. I still welcome the change since there will be one less SharePoint-specific technology I will have to keep up with. However CAML will still be used in queries.
I like what I have seen so far. The only bad news is having to wait until November before the first public beta is available.