@ArpitVarshney's answer covers most of your points, but I'll just add a few of my own:
1. Once you've configured your replication agent to replicate to Publisher, you can replicate packages through CRX DE with the following option:
2. This depends on your project and your content. If you are joining a project that already has code and content deployed and you're not sure what to replicate, a good place to start is to look in the ui.apps and ui.content module of the maven project. This will show you what kinds of things are used in your project. For example:
3. Any bundles you have deployed SHOULD be part of a codebase. For example, it is common practice for ui.apps to embed your java code in a JAR in the /apps/site/install folder and install the bundle at the same time as the package. If you replicate that package, you will also replicate the embedded bundle 🙂 You should not be replicating OOTB bundles since they will be installed when you boot up your Publisher instance for the first time.
4. As mentioned for number 2, once you've identified which are the root folders where your content is located (there shouldn't be more than 4-6 of these per site), you can quite easily replicate by using the TouchUI Publish button and making sure to include all children an dependencies.