the one click installs create a new database for every software you want up.
you can use one database to cover all your needs, but why bother when DH gives you unlimited? It's nice to use one database per program because it doesn't put too much stress on the databases.
Also, if you use one database, you have to make sure you include prefixes or you run the risk of overwriting tables in the database, affecting the programs you run.
As for how they "talk to each other," I'm just a noobie too, but from what I know, in the coding, you have all the information to enter data into the database by supplying the hostname, database name, username, and password. That allows the program to create tables and store data on it. If you plan on integrating several stand-alone programs like the calendar, gallery, and perhaps a content management system, that's tricky because you need to play with the coding.
It's probably simpler to use includes or to create a layout that makes all the programs seem like they are integrated.
I don't know if I helped any, but there are many people here who could explain it better