There are thousands of WordPress themes that you can download and use. Most of them are really very cool. There is a wide range of choices based on number of columns, colors, fixed or fluid width, with or without images, widget ready or not, and so on.
After trying more than a dozen over the last couple of weeks, I figured that a theme with 3 columns and mostly white in color suits my needs the best. There are many such, and some are very popular. Some claim to be widget-ready.
Widget-ready ones are by far the quickest and easiest to setup and configure. But I ran into a few that claim to be widget-ready, but do have some quirks that make them hard to use. In the process of “fixing” a couple of them — because I liked the overall theme, and wanted to use them — I learned how they are implemented and how to customize them by modifying the code — the hard way.
Most themes have a stylesheet file where most of the formatting is defined. This includes the sizes, fonts, font-sizes, colors and so on. Besides that, there are PHP modules that define the header, the sidebars, the main index page, the specific pages like single-posts, category-lists, etc. In widget-ready themes, these modules check if there is a dynamic sidebar defined, and if not, they have hardcoded selections for the sidebars. So if you have a theme that you like, but isn’t really widget-ready, you can still customize it by editing some of these modules. In fact, even with the widget-ready ones that work smoothly, you can still edit these files to customize them further. Adding ad-blocks is another reason why you might modify these.
One particular issue that I ran into while trying a new theme is worth mentioning. This was a theme that is classified as widget-ready, but it does have some issues with WordPress 2.5.1. While using the widget selection tool to configure it, it seemed to corrupt part of the database related to widgets. (This is something I am still trying to investigate.) As a result of this, the widget selector wasn’t working right even with my earlier themes where I hadn’t seen any problems before. Even though I had customized this particular theme by editing the code, I decided to switch to another theme that was most stable widget-wise, and also allowed me to do detailed customization by editing the modules.
The WordPress support forum is quite responsive and you can often get a quick reply to a question if you run into such issues.