I have just completed a web only project at work where I as, an experiment used very little native Domino functionality on the forms and views and opted for an AJAX UI with Domino acting as the datastore. This is what I found.
1. BOOOO You sacrifice a lot of development speed using this method. Domino allows you to do a lot of "down and dirty" apps that look like poo but work out of the box.
a minimal Domino feature app takes around 300% longer to code and test than a Domino only program.
2. YIPEE You gain considerable control over the web UI that is absent in the standard notes form/page environment. No more farting about this $$viewtemplate or $$return or having to laboriously change each cell element in a table with the same CSS class names. HTML and JS is just HTML and JS again. You don't have to have your Domino hat partially on at all times...
3. YIPEE No more back and forth ops to the server when you want to have data aware context dialogs,radio or check boxes...
4. BOOOO Domino web agents are truly poo at file attachments there is no easy way to get a file uploaded without processing the entire form. This is really really really annoying. All it would need is for the Document.Context to have the ability to "see" the attachments passed to it. In the same way that PHP has the $FILES array when a form is processed. You would think that would be a given .. but no... ~sigh~
5. YIPEE You can do an application LOGON rather than a DOMINO session logon. Yes there are security drawbacks because as far as the server is concerned the user is Anonymous. But with a bit of creative programming you can create your own user/session system without the need for having a CAL for each possible user of your system.