I always do it myself. And yes, sometimes it's probably not the greatest idea ever, since there are heaps of people out there who are a lot better at it than me. If you do get a track released you could be quite confident that the record label wants one of their engineers to master the track for the album. So in this case I wouldn't master my own songs. Better to have a great sounding raw mix than to have a half assed loud and maybe not so great sounding track.
But since I am a big boy and I've told my mother many times that "I can do it myself!", I want to learn how to do it the proper way myself. At least for as long as I'm not releasing
tracks and just make music because I really want to and because I enjoy sitting hours on end with a single
plugin or a loop and just tweak things to oblivion before I move on to the next project.
It's a matter of personal preference here as with so many other aspects of Music production and composition. If you have no idea what you are doing, you are probably better off leaving that area of your track to someone who does. Even if you just want to learn how to do it, you can practice on the songs you made and in many cases if you are going to release it, it doesn't have to be more difficult than to just delete everything you have on the master and send it off. I'd still recommend doing it separately because when you do master your track you might want to change something in the mix as you go, and you might not want that change when what ever
effects and processing plugins you have on your master are gone. It's invaluable to practice on other people's tracks, since it gets you in contact with setups, sounds and arrangements that you would never use yourself. Even practicing on completely different styles is a good idea.