I just had a discussion with a customer asking what's the role of InfoPath.
InfoPath 2003 is a really cool product to create forms accessing XML Web Services. Forms can be created automatically by referencing a XML schema, a database, or a web service. Forms are stored in an XML format and can be easily distributed.
However, custom validation is done by using JavaScript. InfoPath shouldn't be used to create a complex UI. This is the role of Windows Forms.
Update: Rufus Ruse mentioned the InfoPath SDK. With the InfoPath SDK it is possible to get rendering in IE for non-InfoPath end-users.
Christian