Mastering is the final phase of the whole audio engineering process. To overly simply, it involves tying everything together and bringing it up to a commercial volume standard. It's something that definitely can make or break an album/song. One of the most common problems you'll hear with mastering is over-compression, which is easiest to notice in the cymbals (you'll hear them pumping when the kick or snare hits.) There are a lot of other things that can go wrong during this process that will detract from the overall quality of the end product.
Honestly, you probably get what you pay for with this. It definitely ends up costing a bit of money, but $300 to $500 sounds about par for the course if it's a service you go to (ie, not a bro-deal.) However, most pay mastering services will give you some sort of demo of what they can do. I would ask them if you could send them one of the songs and see if they'd master that one as an example of what they're capable of. You might even just ask them to do one minute of a song. Compare that to what your buddy does and see if you'll be happy with your buddy's end-result.
There are at least a few people on the Shizz that might be willing to master it for you for a reduced cost. You might want to post in the Home Recording thread and ask if anyone would help you out. If nothing else, it will give you another example of how different end-result mastered versions can be, depending on who's doing the mastering. I'd quote you a low price myself, but I don't have enough free time before MAGfest.
And to answer your question, yes, as long as you keep the original, pre-mastered sound files, it can always be remastered later.