Themes are, generally speaking, a static reskinning of the home screen UI. It remains to be seen what exactly we will allow you to change, but generally speaking, the theme is a channel with an XML file and images (the XML specifies which image goes where in the UI), and an empty sub main() function. A channel could include an installable theme and also a screensaver, so you could deliver your content along with a theme and a screensaver.
As far as I know, themes only reference images stored on the local file system.
It's an opportunity for developers with artistic skills or who want to collaborate with an artist.
- Joel