PLEX is nice, I use it on my 36TB server, but there are a lot of limitations. It was made from XBMC which alone still has a few issues but other things are fixed. PLEX fell off this. One example is .ISO files, XBMC can handle them nicely. Still need to work on forced subtitles but other then that they play well. PLEX, no. Videos need to be in the acceptable formats of which there are many, but no .ISO support. My one big complaint.
Other gotcha, if you want to do stuff within your network, XBMC is all you really need. To stream it outside your network, that's where PLEX comes in. And the only big kid filter would be the parental setup of which I haven't messed with yet (will be soon and have been looking deeper into this, but that seems the only solution which isn't a great one but...). You also need to check your ISP's upload speed. If you want to stream HD out through your cheap ISP, it's not likely going to happen. Even my TWC 30/5M connection really can only do so-so transcoding. But that's also TWC... However, 1M/sec is great for most phones for example and can be handled even through 3G (though make sure you have an unlimited or big data plan).
For music though, I prefer Subsonic. That's just me.