Some new features are now in SQL Server 2008 (beta as I write this).
Table Valued Parameters (TVP) are just that, parameters. They are more like objects that can be declared from a table definition. These TVPs can be passed to store procedures as a single value or marshaled to other clients as a whole.
The obvious advantage to this is large data changes. For example, I have an order and that order has a hundred order items. A stored procedure can be called that has two parameters; a TVP for the order header and a second TVP for all one hundred of the order items. This saves considerable back and forth travel time from a client. Ultimately, I think it can make transactions much more reliable.
In the past, I have done much the same thing, but less elegantly, with the somewhat more cumbersome use of XML objects passed into SQL Server 2000 stored procedures.
The Varbinary(MAX) FILESTREAM object declaration is pretty cool too. This allows BLOB data to be saved to the file system of the SQL Server, but still retain all the attributes of a varbinary object. The advantages are the blobs have transactional and SQL programmatic access, but are only limited to the size of space on the file system. I presume the disadvantage is that if the file system is not properly secured, the files can be edited outside of SQL Server, this was demonstrated, and therefore such edits, I assume, are not transaction secure. Being a beta product, it is too early to know for sure how that will be addressed.