<p>What are pros and cons of having dedicated application pools over keeping web applications in one default app pool?</p>

Dedicated app pools typically will keep problems occurring in one site from effecting the others.  If you share app pools across sites, you could bring down all sites on the box when an error condition exists for only a specific site (or app pool).
Also, if you are mixing versions of ASP.Net on the same web server, you will need different app pools per ASP.Net version at a minimum, or do it per website.
I can't think of a good reason not to separate app pools, it is so easy to do.