I think there may be a number of underlying issues, but I found a solution that worked. I had an iPhone 4, and just upgraded to a 4S last week (iOS 5.01 was installed on the iPhone 4 before the upgrade and I was backing up to iCloud). I did a restore from iCloud when I got the 4S and discovered yesterday that I had hundreds of songs that would not play. I don't know if I had pictures that would not sync because I did not check them all. I tried removing and resyncing the music, and also did a full backup to iCloud and restore last night....no luck. I also tried deleting the photo cache, moving the problematic songs to a new playlist, etc. None of it worked. I was still getting the "320 items did not sync. See iTunes for information." error....of course, as others described, there was no information on the error in iTunes. So, here is what worked:
1) I set my device so that no music or photos would sync
2) I did a backup to iTunes instead of iCloud.
3) I restored my 4S from the iTunes backup
4) I added back my playlists
5) I added back my photos
Everything works beautifully now and I restarted iCloud backup. Steps 1, 4 and 5 may not be necessary, but I thought I would go through those during the process just in case they helped.