regarding weddings:
Around here it's the bride who plans the wedding and arranges for the music that she and her friends want to hear.
If the bride is 20, the music she wants is probably not in any fake books and probably can't even be played by a band. Unless the bride wants country music, her song list almost has to be played from audio files.
The parents are probably 40ish, and they grew up on 90s music, which is also probably not in any fake book. A band can play 90s music, but my set list didn't have very many songs from that period.
The grandparents know the music I wanted to play.. but there are (at best) 4 of them at any given wedding.
As far as I can see, DJs are making a lot more than regular musicians, not less. What they bring to the table is the very thing many musicians mysteriously resist: they gladly play whatever the customer wants.
Regarding Jazzmammal's observation:
I can echo the same experience on multiple occasions. On one gig a bunch of Wake Forest students were having a graduation party, and they requested a bunch of songs. When I told them which ones I could not play live, they asked "we really like these songs.. can you play them through your PA if we provide the songs on a phone?" Naturally, I said yes to get the gig.
They were receptive to my oldies that I performed to backing tracks, but they went absolutely wild over their preferred songs. I had never even heard any of the songs before. The thought occurred to me that it would be so much easier to simply show up and play MP3s (yet so much less satisfying)
Not long after that I threw in the towel. I'm not willing to DJ, and I can't compete against the top-notch local musicians who are survivors of the live music apocalypse