Time for an overly-simple example. Here's a to-do list form. Enter the todo item and press enter to add it to the numered list. Click the cross to remove any item.
new Insertion.Bottom("todo_list", "<li>"+$F('todo')+"</li>");
This adds an <li> element to the <li> called "todo_list". The text in the item comes from the field called "todo". If you look at the source you'll see there's a little more to it than that, but you get the idea. Time permitting I plan to create a Web 2.0-style Domino database that shows a whole host of Ajax and DHTML magic at play. It's amazing what you can do in the browser now and Prototype/Scriptaculous makes it really easy.
Note that the example form actually adds a hidden field to each LI element with the same name in each case and the value set to the same as the todo item. If this form were then submitted to Domino and a multi-value field existed with this same name the todo list would get stored. Like this.
If you're doing any kind of on-the-fly DOM manipulation then you're going to need something like Firebug. One of its great features is that allows you to view/inspect the source of the page as it stands, rather than as the server delivered it, which is all a typical view source does. The same is true of the IE Developer Toolbar.