I've mostly used Dynamic Data to create "developer only" back-end admin tools, where I need to access the database directly. For that purpose it's very convenient and extremely fast to use.
MSDN has several articles on customizing Dynamic Data: ASP.NET Dynamic Data Layer Customization: Validating Data Fields. I'm sure it's flexible enough to meet your requirements.
As for pros and cons, it really depends on what you're building. Implementing custom designs and functionality can end up taking just as long as it would've implementing the project from scratch (regardless of what scaffolding framework you use).
So if your project is a basic data entry app, go with Dynamic Data. If it's customer-facing site, I think you're probably better off using ASP.NET Webforms or MVC. But that said, DD is still very handy for just accessing the data from a browser.
answered 2011-02-02T13:12:54.250