First of all, I'd like to say I love this book. It's very informative and easy to use.
The main reason the Theme option was introduced in ASP.NET is the ability to modify existing web sites without the need to change their source code. So, if you have an old web site you want to give a new appearance but you don't have access to its source (or you don't want to modiy it), you can use a Theme to enforce a global look and feel.
In addition, you can use a Theme to programamtically override settings.
In most other cases, a styleSheetTheme should be the preferred option.