I have an Android device (Motorola Milestone, called "Droid" in the US) that works great with Ubuntu... but you actually don't need to "sync" it, since the purpose of Android is to sync with your Google account.
Then I have my Thunderbird + Lightning synced with my Google mail/contact/calendar (also works with Evolution), and I have the Android smartphone doing the same on its side.
You also can use UbuntuOne contact syncing if you prefer (works on Evolution, Thunderbird, and Android devices). It is still in beta, and seems to be targetted for paying users, but it may be a solution, if you don't want to rely on Google only :)
Then for music: Rythmbox can see it when I plug it on USB, and I can manage my phone's playlist from it. For photo/video/whatever, the phone is actually seen as a USB drive, so you can go put/remove files as you like.
No issue so far, I really find it easy to use.
Edit: About the iPhone... I guess it's worth some comments :)
We already have questions about iPhone syncing with Ubuntu on this site. Run a search for "iPhone" to find more. But you'll find all needed information here: https://help.ubuntu.com/community/PortableDevices/iPhone
Basically: it works, at least for music/video/podcast syncing. You can even get tethering working. Contact/calendar cannot be synced, but you can sync your iPhone to Google, so it's not a big deal.
Now the fact is that some things will require iTunes. For instance: Application management, phone's upgrade and phone's settings backup. And iTunes doesn't work on Linux :(
I am mentionning it because I know people are advertising the support of iPhones on Ubuntu, while this support is not as complete as you might think.
I had an iPhone some times ago. Great device, but I had to sell it because of this incompatibility (and other personal reasons). No fun to have a VM just for iTunes :-(