After re-reading my last post, I wanted to add a clarification: I did not mean to infer that the EQ and compression that comes with most programs is up to the level of true "mastering quality" hardware, or even up to the level of the mastering plugins from Waves, or iZotope or others. What I meant was that if you are going to use an application to apply those plugins, I haven't heard of a big difference in sound quality of the audio engine between the likes of Logic Pro, Sonar, Cubase, Protools or whatever. However, the quality of the plugins definitely matters.

I have been recording and mastering projects both professionally and semi-professionally since 2" 16-track tape was common. I would always recommend a pro mastering engineer if you are going to be competing with the "big boy major labels". Of course, in that situation, the record company will most likely front you the money. For independent releases where $1000+ is a LOT of money for the indie artist to go to a mastering engineer, sometimes the DIY approach is the only way to get it done. Just be careful that your DIY job doesn't make it sound worse. Always, always, always compare your "master" with a professionally-mastered song similar in style for EQ balance, compression, and loudness.