We branded our site with a custom master page, alternate CSS, and site theme. Everytime we create new sites or site collections we have to manually setup these things to get a consistent look. Is there a way to have this set automatically when a new sites or site collections are created?
Features and solutions is the way to go when deploying your custom branding.
When branding SharePoint also remember the option of using Themes. Themes gives you a way to brand across application pages, standard master pages / page layouts in a consistent manner.
hth Anders Rask
The way we did this was through features. We had a feature that applied our branding and then using feature stapling that feature was activated whenever we created a new site or site collection.
EDIT: Like Anders says, themes do provide some extra benefits. The benefit of them working on application pages can be handled by a simple httpmodule. Check out my blog post with code here: http://www.thelineberrys.com/default-category/using-your-sharepoint-sites-master-page-on-all-application-pages-3.html on how to implement the httpmodule.
Here is a function that will set the masterpage for your site (including sub sites) that you can use. Just put it in a feature receiver and you can activate it when creating new sites, etc. Then you will have the same masterpage for all your sites.