As a dba with very little programming experience I've used sql-dmo in the past in a vb6 app doing the simple task of comparing and promoting tables and stored procedures throughout development, test and production environments..
I'm curious though, what practical applications are there for sql-dmo? Scratching my head and wondering I came up with only a few scenario's. I've seen backup management programs written using sql-dmo. The only time I'd use sql-dmo is if I (pretending I was a programmer) if I had to create a database and oodles of objects. An erp package is a great example of this. And I wanted to do this programmatically.
About the cleanup tasks, good job for mentioning! At the time I'd written my app I had to laugh at myself when looking at all the silly dmo connections left behind on every server I touched.