Yes and yes. Advantages: DRY, code reuse, easier to manage internal dependencies (as they are always in sync), commit changes are atomic, you can do large refactors across subprojects more easily.
Discussion
Makes sense, thank you. Always wondered about that.