We switched from CruiseControl.NET to TeamCity primarily because of ease of configuration. TeamCity also has more features, but the main reason was that a nice Web UI is simpler to use than XML configuration files.
EDIT: Most tasks TeamCity will do out of the box; when necessary we use NAnt.