Some random thoughts on the topic (sorry for the length, I've been mulling this stuff for the last year or so):
Hands down, this is the best thing I've ever read on the topic: How to actually master your own music. Short, explained, to the point - and every step is understandable and not shrouded in mysticism. The explanation of how to use a reference track, and why, is gold.
If mastering for YouTube / SoundCloud / Spotify / iTunes, etc... basically a service that will MP3 or otherwise deliver the audio compressed (in the information sense, not the audio sense) - after reading tons, since I don't want to master for each separately, I make sure the final master for upload is -1.5dbFS. That's enough headroom for them to "do their thing" without undue artifacts.
I ignore all that is written about loudness. And, "now that the loudness wars are over", which is because the above services all have their own normalization strategies, there are different tips on how to not run afoul of said strategies. I mix and master so it sounds "right", then normalized so encoding is okay. Done.
I wouldn't go to vinyl without a professional mastering engineer experienced in vinyl.
I tried three automated mastering services and set up a double blind listening test(*) with them, and my own master. I did this for two tracks, and had the band listen to them under multiple listening situations. There were differences, but no obvious winners, and the differences were different between the tracks. In end we decided they did no better than I did on the whole, so not worth money or workflow hassle.
(*) Ask me how... full of geeky goodness - using hashes in a way that even I didn't know which was which!
If you really want to obsess over those last db, and which metering system to use, there was this recent article, which despite it's name was not bad: In The Box Mastering – The Ultimate Guide. But in the end, I'm not interested in fiddling that much to get some boost on Spotify! (I don't even have a Spotify account...)