OK, follow up.
I deleted all music from my phone and re-synced.
There are songs that refuse to play on my phone. They play fine in iTunes on my laptop. If I try to play them on my phone, they appear for a split second, then the phone skips to the next song in the list. What's going on?