InfoPath is a great forms tool. It is very easy to get started with it, there is useful integration with SharePoint and, best of all, you can extend the functionality through scripting or managed code.
This session took us through various examples of how a form could be extended, from filling in fields when the form is loaded but only if the forms are empty, through to offline submission, encryption & decryption of data and exporting the data into a Word document.
David Gerhardt had some great demos and the sample code is/will be available from his blog. This was a great session that had good pace and delivered useful examples.