What is .htaccess?
It gives the permission to change configuration information of application on basis of directory, If you want to create .htacces file then first of all you should do enable a directives "allowoverride" on your configuration file of your server(i think php.ini configuration file of Apache server),
It's need when your configuration file of application will be changed frequently?
Whenever you create the .htaccess file in a particular directory, the sub-folder of that particular file will get the access automatically.
suppose there are existing sub-folder module, component and block on drupal folder and your .htaccess file is existing also in drupal folder, in that case you can change the configuration information of all these sub-folder module, component and block,
side effect of .htacces file..
When you do enable the "allowoverride" directives to create .htaccess file. During the loading of your application, there will be checking on each directory for .htaccess file, whether this file is exist or not on particular folder.