Many underestimate how "easy" synchronizing content is. The GUI does it automatically and the old PowerTools used a little XSLT, some scripts calls, and a custom page. I've seen at least four restarts by various Tridionauts which supports my "easier-than-it-looks" theory.
Update and Clarification: see Dominic's point on the PowerShell Component Synchronizer. I agree with all of his points but still think the PowerTools Component Synchronizer was harder than it looked.
And strangely, many have assumed this feature isn't in the product or that we need to re-invent the logic. It's the Groundhog Day (Movie) challenge for the Tridion community. Content Porter can sync content and since SDL Tridion 2013 SP1, we have an API for Component Synchronizer. See the details in Eric Huiza'a post.