Themes provide two benefits over CSS though you could possibly argue that you could probably argue that you can do them otherwise:
They provide Themeing of Server side controls. This goes beyond the colour properties controlled by CSS into other properties you might want to set, such as behaviours, styles, and in the case of Templateable items even the contents of them. For example you can define a grid in the theme that has default paging controls, then you don't need to define paging controls for every grid you add to the page.
You can change your entire theme based on someother settting (such as user preference) to include different CSS files and potentially different display/defaults to the controls.
Note: A theme includes an ASP.NET skin file and a collection of CSS files that get automatically included.
Although I haven't come across much of 2. being done, it does provide for us in our use a single folder that contains all images and styles, looks etc, that we can deploy to each customer premise with our product to give different looks to the same code, while providing the developers an easy mechanism to change the look and "test" for each customer using the same code base.