Why do I have to add main-menu under features[] in the theme info file?
The features elements in the .info file are used to add or suppress Drupal core/global theme settings. If you add any features options to your .info file, you must add all of the options you wish to have available to your theme. All of the options are included by default if no features options are added to the theme's .info file.

If you want to set the default setting for any of these features to your theme's .info file, you can use the setting entry. For example, if you wanted to default the "main_menu" option to be on, you would add this to .info:

setting[toggle_main_menu] = 1


More information on all of these topics can be found in the drupal.org Theming Guide