iSync (free from Apple.com) will do most of that except the iPhotos. You will also need a .Mac account as a staging ground for the sync or a third party server (free ones are available all over the web). iSync is great for those things you mentioned (less iPhotos) as it works very easily and simply as well as between multiple computers and even iPods. You simply tell iSync which computers/iPods/cel phones you want to be syncable and it does the rest.
For syncing of files beyond those mentioned above, I recommend Synchronize X or X Pro (qdea.com). You basically drag a source folder or volume to one side and a destination folder/volume to the other side of its interface, hit Sync and it will display a visual report of what files are intending to go where. It's smart enough to recognize if a file from both source and destination have changed and warns you. It also has loads of other controls for exclusion of files/folders You can also make Sync sets so you can quickly launch a predetermined comparison. You can also set conditional comparisons, like have it automatically Synchronize every time you insert a Zip Disk named "Jones Project".
There are many other Sync programs out there. I have tried many of them. I prefer Synchronize X Pro. See versiontracker.com and search under synchronize for other options.