I think folks have covered the bases, here, but I'll just reiterate what I think are key points:
- compression can't be gracefully undone once it has affected a signal (either compressing your analog signal or doing a destructive ['permanent'] modification to a file with a software compressor)
- in the typical non-destructive DAW/plug-in environment, you can refine your use of effects and get it right --
- it's much easier to get compression right once you're dealing with a signal that's already been tracked. Setting a compressor with, say, a live vocalist can be a pain because they never do everything exactly the same
- if you're applying compression to something previously recorded you can use a combination of automation and compression to work around dynamic issues -- you can even use plug automation to change your plug settings through the course of the track to help correct bad mic/dynamic technique or mis-matched punch ins
- compression is a non-linear process that arguably is better suited to analog processing but...
- cheap compressors are not necessarily really great compressors (although I have a 3630, and, for the money, mine's a tolerable unit; but I haven't used it in several years)
- cheap/free plugs are not necessarily the greatest soft plugs, either -- but there are some well liked ones -- and some reasonably priced compressor plugs that are very well liked; good software is cheaper than good hardware, for the most part
Hmmm... I think that covers most of my pre-coffee thoughts...