Hi Debbie,
user.config is the one file that you should not copy from development to production. You should directly edit the user.config file on production if you need to make a change to it. Your database connection string should be in user.config and this will usually not be the same on your dev machine as on production.
Honestly it sounds like you are in a bit over your head if you don't understand about release build vs debug builds Active just means that is the build profile you currently have selected in Visual Studio, so Debug is the active build profile at the moment on your copy of the solution but you would choose Release from the dropdown in Visual Studio for making a production ready build. I would choose Release form the build profile dropdown then I would choose Rebuild Solution from the Build menu, then I would publish to a folder on the local file system and delete any extra files from your dev environment such as the log file and any other junk as described in the article on Packaging and Deployment, but user.config would be one of the files I removed before deployment because it is generally going to have differences on production such as the database connection string, so you don't want to overwrite the production user.config file with the one from a development machine.
You don't even need to do this kind of packaging and deployment in order to make a change in user.config, just update that file directly with a text editor on the production site, very simple.
[Edit] after making the change in user.config just edit the web.config by typing a space in it and save it, that will recycle the app and make it detect the changes in user.config.
The only time to redo the deployment is when you've made changes in C# source code like in your own custom features and you want to compile and deploy those changes, or if you've updated your source code from our repository and want to update your site with a new build of the code.
Hope that helps,
Joe