I don't mean to rain on anyone's parade, but when anyone has to ask whether mastering is necessary, the answer - for that person - is no. Mastering is necessary for the large scale release/duplication of an album/CD/EP by a label. If you're signed to a label, they're gonna master it. Period.
If you're selling CDs at gigs, etc. , mastering is not going to increase your sales, or command a higher price, so you might as well save the $$ (if you're happy with your mixes, that is). "BUT WAIT!" you say, "What if some major label hears our CD, and wants to sign us? Wouldn't it be better to have it mastered so they can just release it as is?" Short answer: Not gonna happen. Longer answer: If a label signs you on the basis of a self-produced CD, they're interested in your songwriting/arranging/performing talent; they're interested in your long term prospects, not how well produced (or not) your CD is.
I'm not saying that one shouldn't have one's self-produced CD mastered; I'm saying anyone who questions whether mastering is necessary either doesn't understand the importance of mastering, or (far more likely) isn't involved in a project where mastering will make any difference (in terms of sales/attention/criticism/etc.).