The thing isn't really DJ versus Spotify, but more about how much control you want over what's playing. With Spotify you've got the obvious advantage: songs you love, no middleman, and you save a fair bit of money. But there's a detail people forget: someone has to babysit the app all night, skipping songs, turning the volume up when it drops, avoiding awkward silences. That falls on you or a friend, and trust me, it's more work than it seems when you want to actually enjoy the party.
A live DJ costs more, but the thing is you're not paying attention to anything. The guy reads if the crowd's getting bored, speeds things up or slows down based on what he sees, and the transitions between tracks are smooth. Plus, a good DJ knows how to throw in songs you weren't expecting but that work, something a preset playlist can't do. That said, if your budget's tight, you can try a middle ground: hire a DJ just for the key moments (the entrance, cake cutting, the last dances) and then let Spotify handle the rest. There are DJs who charge a reduced rate for "partial service" and it's way more affordable than a full set.