When should I use ASP.NET Themes, and when should I use CSS? What are the advantages or disadvantages of using one over the other?
I would recommend using CSS over Themes. The reason for this is in CSS you can modify your styles to they work with all browsers. You can do the same thing with themes but Microsoft's designer is notorious for fixing the things that you fixed to make them work on all browsers so its counter productive. Stick to CSS you will spend less time mucking about.