Ok I don't have a GREAT mic but it isn't bad and I was wondering the best way to record metal vocals and what program cleans the vocals up the best.
The way I do it is I do my loudest vocals to set the levels, then I place a rag over my mic and try and keep about 6-8 inches away, and keep my airflow, and volume even while singing.
Use a parametric EQ to clean up the vocals.
Take out the 100-150hz to take out the pops and such, and add a -slight- touch, slight touch, of upper 15,000hz
Maybe add/remove a hint of mids, depends on guitar tone.
Record them the best you can and you'll have little clean up.
My biggest problem is clipping. When I up the volume I can hear terrible distortion. What software lets you control this while recording, and doesn't the rag make the vocals sound underwater?
If your vocals are distorting, turn down the gain on your preamp/input, or back away from the mic. I do NOT recommend putting a rag over the mic, this ruins its directional characteristics, throws off its frequency response and makes it prone to feedback.
software isn't what interprets audio.

the mic, preamp, AD converters, ASIO...does all this.

pic whatever software you want
I have a usb mic. I put a t shirt over the mic and it sounds fantastic. Quality is the same and no air blowing into the mic.
an even better and easy solution is using a bent hanger and some cheap pantie hose around it.

to look like...

Check out my post here:

Softwares usually screw up the recording more than they do any good.
The most important aspect of recording vocals is to make sure you get a good clean vocal take.

Find a good spot to record vocals. Dampen out your surroundings using matresses, rags, clothes, curtains, whatever you can find that can absorb sound.
Be loud and clear while recording. Extremely important to get a good level in. Make sure the peak level stays around the -3 to -4dB mark. You'll get clipping on digital recorders if the level goes over 0dB. If the peak vocals are going above -2dB level in the recorder, reduce the gain so the the peak stays below -2dB.

Audacity should do a perfectly descent job recording vocals. The quality depends on the mic and your sound-interface. The software just records the digital signal coming through the interface. So you'll get about the same quality recording whether you're recording on audacity or ProTools or Cubase. Only difference would be the convienience. Like in ProTools (and most other pro recording softwares) you can set up a headphone mix and send the backing track and the live recording vocals (with a bit of delay and reverb on it) back to the headphone's of the artist who's recording so he can hear himself singing. I don't know if you can do that with audacity.

Make sure YOU sound good. Warm up your voice before singing and sing properly. Doesn't matter how much time or takes you have to do, make sure you get the vocals spot on. Editing vocals is an absolute bitch and is not even worth it, so if you have a bad vocal (or part of a vocal), best thing to do is go and record it again properly.

Now for poping, most vocal mics come with a pop shield. The Shure SM58 comes with it, the Shure SM 57 doesnt.
Basically the pop shield is the big round metal thing you've got screwed on top of the mic.

If your mic is not a vocal mic but an instrument mic and doesn't have a pop shield, you can get one for cheap in most music stores. Or just cut out a thin layer of sponge and tape it over the mic.

To give you an idea, this is what a popshield looks like: